4

i have a java code for send a mail while i am executing the following error is shown

.\SendEmail.java:5: package javax.mail.Message does not exist
import javax.mail.Message.RecipientType;
                         ^
.\SendEmail.java:6: package javax.mail.internet does not exist
import javax.mail.internet.AddressException;
                          ^
.\SendEmail.java:7: package javax.mail.internet does not exist
import javax.mail.internet.InternetAddress;
                          ^
.\SendEmail.java:8: package javax.mail.internet does not exist
import javax.mail.internet.MimeMessage;

and the another java class for write some values in database, in that the following error will show

                           ^
.\WriteHelper.java:34: cannot find symbol
symbol  : class WorkbookSettings
location: class WriteHelper
                WorkbookSettings wbSettings = new WorkbookSettings();
                ^
.\WriteHelper.java:34: cannot find symbol
symbol  : class WorkbookSettings
location: class WriteHelper
                WorkbookSettings wbSettings = new WorkbookSettings();
                                                  ^
.\WriteHelper.java:38: cannot find symbol
symbol  : class WritableWorkbook
location: class WriteHelper
                WritableWorkbook workbook = Workbook.createWorkbook(file, wbSett
ings);
                ^
.\WriteHelper.java:38: cannot find symbol
symbol  : variable Workbook
location: class WriteHelper
                WritableWorkbook workbook = Workbook.createWorkbook(file, wbSett
ings);
                                            ^
.\WriteHelper.java:40: cannot find symbol
symbol  : class WritableSheet
location: class WriteHelper
                WritableSheet excelSheet = workbook.getSheet(0);
                ^
.\WriteHelper.java:51: cannot find symbol
symbol  : class WritableFont
location: class WriteHelper
                WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10
);
                ^
.\WriteHelper.java:51: cannot find symbol
symbol  : class WritableFont
location: class WriteHelper
                WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10
);
                                             ^
.\WriteHelper.java:51: cannot find symbol
symbol  : variable WritableFont
location: class WriteHelper
                WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10
);
                                                          ^
.\WriteHelper.java:53: cannot find symbol
symbol  : class WritableCellFormat
location: class WriteHelper
                times = new WritableCellFormat(times10pt);
                            ^
.\WriteHelper.java:58: cannot find symbol
symbol  : class WritableFont
location: class WriteHelper
                WritableFont times10ptBoldUnderline = new WritableFont(
                ^
.\WriteHelper.java:58: cannot find symbol
symbol  : class WritableFont
location: class WriteHelper
                WritableFont times10ptBoldUnderline = new WritableFont(
                                                          ^
.\WriteHelper.java:59: cannot find symbol
symbol  : variable WritableFont
location: class WriteHelper
                                WritableFont.TIMES, 10, WritableFont.BOLD, false
,
                                ^
.\WriteHelper.java:59: cannot find symbol
symbol  : variable WritableFont
location: class WriteHelper
                                WritableFont.TIMES, 10, WritableFont.BOLD, false
,
                                                        ^
.\WriteHelper.java:60: cannot find symbol
symbol  : variable UnderlineStyle
location: class WriteHelper
                                UnderlineStyle.SINGLE);
                                ^
.\WriteHelper.java:61: cannot find symbol
symbol  : class WritableCellFormat
location: class WriteHelper
                timesBoldUnderline = new WritableCellFormat(times10ptBoldUnderli
ne);
                                         ^
.\WriteHelper.java:65: cannot find symbol
symbol  : class CellView
location: class WriteHelper
                CellView cv = new CellView();
                ^
.\WriteHelper.java:65: cannot find symbol
symbol  : class CellView
location: class WriteHelper
                CellView cv = new CellView();
                                  ^
.\WriteHelper.java:90: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label=new Label(j,k,JavaSamp.date.get(z),timesBold
Underline);
                        ^
.\WriteHelper.java:90: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label=new Label(j,k,JavaSamp.date.get(z),timesBold
Underline);
                                        ^
.\WriteHelper.java:92: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label1=new Label(m,k,JavaSamp.motherboard.get(z),t
imesBoldUnderline);
                        ^
.\WriteHelper.java:92: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label1=new Label(m,k,JavaSamp.motherboard.get(z),t
imesBoldUnderline);
                                         ^
.\WriteHelper.java:94: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label2=new Label(p,k,JavaSamp.processorid.get(z),t
imesBoldUnderline);
                        ^
.\WriteHelper.java:94: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label2=new Label(p,k,JavaSamp.processorid.get(z),t
imesBoldUnderline);
                                         ^
.\WriteHelper.java:96: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label3=new Label(pn,k,JavaSamp.processorname.get(z
),timesBoldUnderline);
                        ^
.\WriteHelper.java:96: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label3=new Label(pn,k,JavaSamp.processorname.get(z
),timesBoldUnderline);
                                         ^
.\WriteHelper.java:98: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label4=new Label(bn,k,JavaSamp.biosname.get(z),tim
esBoldUnderline);
                        ^
.\WriteHelper.java:98: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label4=new Label(bn,k,JavaSamp.biosname.get(z),tim
esBoldUnderline);
                                         ^
.\WriteHelper.java:100: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label5=new Label(bid,k,JavaSamp.biosid.get(z),time
sBoldUnderline);
                        ^
.\WriteHelper.java:100: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label5=new Label(bid,k,JavaSamp.biosid.get(z),time
sBoldUnderline);
                                         ^
.\WriteHelper.java:102: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label6=new Label(bman,k,JavaSamp.biosname.get(z),t
imesBoldUnderline);
                        ^
.\WriteHelper.java:102: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label6=new Label(bman,k,JavaSamp.biosname.get(z),t
imesBoldUnderline);
                                         ^
.\WriteHelper.java:104: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label7=new Label(cval,k,JavaSamp.install_countlist
.get(z),timesBoldUnderline);
                        ^
.\WriteHelper.java:104: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label7=new Label(cval,k,JavaSamp.install_countlist
.get(z),timesBoldUnderline);
                                         ^
.\WriteHelper.java:106: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label8=new Label(8,k,JavaSamp.maxval,timesBoldUnde
rline);
                        ^
.\WriteHelper.java:106: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label8=new Label(8,k,JavaSamp.maxval,timesBoldUnde
rline);
                                         ^
.\WriteHelper.java:108: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label9=new Label(9,k,JavaSamp.maxsysval,timesBoldU
nderline);
                        ^
.\WriteHelper.java:108: cannot find symbol
symbol  : class Label
location: class WriteHelper
                        Label label9=new Label(9,k,JavaSamp.maxsysval,timesBoldU
nderline);
                                         ^
.\WriteHelper.java:117: cannot find symbol
symbol  : class Label
location: class WriteHelper
                Label label;
                ^
.\WriteHelper.java:118: cannot find symbol
symbol  : class Label
location: class WriteHelper
                label = new Label(column, row, s, timesBoldUnderline);

Why this type of errors are araise if any possibility to overcome it

ajm
  • 12,863
  • 58
  • 163
  • 234
Aerrow
  • 12,086
  • 10
  • 56
  • 90

3 Answers3

3

These are class path errors. The classes you are using should be present in the classpath of the JVM.

Let's take the following example

.\WriteHelper.java:40: cannot find symbol
symbol  : class WritableSheet
location: class WriteHelper
                WritableSheet excelSheet = workbook.getSheet(0);
                ^

This message means: In WriteHelper.java, line 40, you are referring to a class WritableSheet but the compiler is unable to locate where this class is.

The compiler searches for the classes used in your program in the classpath. Claspath is the path (set of directories or jar files) that the compiler and the runtime look when they encounter a class that they "don't know". (Class they "know" are those that are part of the java language (classes in java.lang or java.math for example). These are in the classpath by default.

You have to specify all the classes you are using in your class in the classpath.

WritableSheet is from the jexcel library (If i am not wrong). So you have to include this library in your class path while compiling the class and while running the class.

You do so using the -cp option of javac and java:

javac -cp ./lib/jxl.jar MyClass.java

./lib/jxl.jar is what I assume as the location of the jExcel library. This cal be anything, just make sure you give the correct path here.

You run the class as

java -cp ./lib/jxl.jar MyClass

If you are using an IDE (You should), you have add the location of the jxl.jar to the IDE's classpath.

Community
  • 1
  • 1
Nivas
  • 18,126
  • 4
  • 62
  • 76
  • hi Nivas while i'm execute this cmd the following error also arise – Aerrow Jun 17 '11 at 13:13
  • hi nivas while i using this cmd the below err will arise – Aerrow Jun 17 '11 at 13:19
  • Exception in thread "main" java.lang.NoClassDefFoundError: JavaSamp/class Caused by: java.lang.ClassNotFoundException: JavaSamp.class at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: JavaSamp.class. – Aerrow Jun 17 '11 at 13:19
  • @BEN Ten, This is because the `JavaSamp` class is not in the class path while running. You will have to give this in while running the class using java -cp – Nivas Jun 17 '11 at 15:06
1

You should specify the correct classpath when compiling/running.

wjans
  • 10,009
  • 5
  • 32
  • 43
1

add mail api jar (probably mail-1.4.jar) and jExcel jar file (http://jexcelapi.sourceforge.net/) in the class path.

if you are running the java code from command line .. like java [className] then give

java -cp mail-1.4.jar;jexcelapi.jar [className]

otherwise put these jar file paths in environment variable CLASSPATH

Dileep
  • 775
  • 5
  • 20