0

Guys facing same issue but the code is written in Eclipse.

It works file when I run it in eclipse but while executing the same using jar I get below errors

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Address
    at RJobsStatus.main(RJobsStatus.java:270)

Caused by: java.lang.ClassNotFoundException: javax.mail.Address

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
Neel
  • 1
  • do you have java mail lib as part of jar? if not then you need to add that lib to your class path – Алексей Jan 10 '14 at 15:20
  • Want to add one more thing, my entire code is not failing, part of code is executing using same jar. Say it is querying my database and displaying the records but not sending emails. – Neel Jan 10 '14 at 15:29

2 Answers2

4

You need to add the Java Mail library jar(s) to the classpath when invoking the jar.

More info:

Community
  • 1
  • 1
Konstantin Yovkov
  • 62,134
  • 8
  • 100
  • 147
0

Based on the documentation NoClassDefFoundError is Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.

The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.

Couple of things you should do to make sure all the classes are available at runtime.

1 Make sure that you add Java Mail API to your classpath.

2 Make sure that you are using the -classpath option to pass the classpath to java as well as to javac to pick up those .jar files at runtime: for example:

    java -classpath :.:/usr/jdk/mail.jar
Ashish
  • 1,121
  • 2
  • 15
  • 25