GeeCON Prague 2014*
The moose likes Java in General and the fly likes Exporting to jar file in eclipse Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Java in General
Bookmark "Exporting to jar file in eclipse" Watch "Exporting to jar file in eclipse" New topic
Author

Exporting to jar file in eclipse

colin shuker
Ranch Hand

Joined: Apr 11, 2005
Posts: 744
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

Joined: Nov 24, 2005
Posts: 14688
    
  16

You should not put JAR dependencies in your JAR file. You should put them all in the classpath when executing your application.


[My Blog]
All roads lead to JavaRanch
Tejas Morabia
Greenhorn

Joined: Mar 06, 2010
Posts: 7
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

Joined: Aug 24, 2009
Posts: 25
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.


Java tutorial
colin shuker
Ranch Hand

Joined: Apr 11, 2005
Posts: 744
Thanks, I didn't wanna mess around with changing classpaths, so I used the Fat Jar, and it works well.
 
 
subject: Exporting to jar file in eclipse