Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Exporting to jar file in eclipse

 
colin shuker
Ranch Hand
Posts: 750
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have an application in eclipse that has mail.jar and activation.jar added to its build path.

When I export the project into a jar file (windows xp) and run it, I get:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Authenticator

I'm not sure how it works, but I guess its using the java installed on pc which doesn't know about those 2 jars.
But they are exported in the jar file, so I thought it might work.

Is there anyway to fix this so I can run this jar on any computer that has java 1.6 installed? Thanks for any help.
 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You should not put JAR dependencies in your JAR file. You should put them all in the classpath when executing your application.
 
Tejas Morabia
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I doubt while exporting project to jar in eclipse, it will include the external jar files in it.
The wizard shows it will only include source files, class files and classpaths.
Where as you can use other options like
1) If its hard and fast to build it through eclipse. You can use eclipse plugin called as Fat-Jar. Find more information from this link Fat Jar Eclipse Plugin
2) My suggestion to your Apache Ant to build or export your project into runnable jar file.


colin shuker wrote:Hi, I have an application in eclipse that has mail.jar and activation.jar added to its build path.

When I export the project into a jar file (windows xp) and run it, I get:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Authenticator

I'm not sure how it works, but I guess its using the java installed on pc which doesn't know about those 2 jars.
But they are exported in the jar file, so I thought it might work.

Is there anyway to fix this so I can run this jar on any computer that has java 1.6 installed? Thanks for any help.
 
jammy chen
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
in gererally java.lang.NoClassDefFoundError is caused by JVM can't found the binary class file on runtime, JDK 1.5 does not include mail.jar and activation.jar in their standard install library. So you need invoke the two jar to your classpath when run java application.
 
colin shuker
Ranch Hand
Posts: 750
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, I didn't wanna mess around with changing classpaths, so I used the Fat Jar, and it works well.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic