How can I resolve NoClassDefFoundError in javax/mail Windows application?

I'm writing a standalone Windows XP command line application. It compiles OK but gets a NoClassDefFoundError for javax/mail/Address. My code does not use the Address class itself, but it does use the InternetAddress class.
Is this a jar problem? What jars do I need, and where should they be put?
Thanks for your thoughts.
RBEyestoneAsked:
Who is Participating?
 
Bart CremersConnect With a Mentor Java ArchitectCommented:
To elaborate a bit on the chosen solution (self found), it's one of the "different ways" I mentioned in my post, but I chose to give the solution I like best. In the past I've run in to problems with copying jar files to the lib/ext folder or your JRE installation:

1. Installing a newer JRE requires you to remember the copied jars. Your application will suddenly stop running and it will take a while to find out why.
2. Running another application depending on a different version of an external library with the same JRE will not work.
   You'll have to define the classpath there for sure


0
 
RBEyestoneAuthor Commented:
I'm still looking for a solution - it seems like this should be just a matter of getting the right things in the right places?
0
 
Bart CremersJava ArchitectCommented:
The class could be in several jar files:
- mail.jar
- j2ee.jar
- javaee.jar

depending on what you got installed.

There are different ways of getting this jar file loaded, but I find it safest and most future proof to simply define the classpath when running your program:

java -classpath .;<path-to>\javaee.jar <name-of-your-class>
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
shaz_Commented:
java standard api does not come with the mail.jar file... u need to download it manually and put it in  your java/jdk1.6.X_XX/jre/lib folder...

download it here
http://java.sun.com/products/javamail/
0
 
RBEyestoneAuthor Commented:
The solution I came up with, based on comments I found elsewhere (not on this exchange), was to put both mail.jar and activation.jar in jrel.5.0_10\lib\ext. All classes can now be found. There are still runtime problems, but those are for another post.
Thanks to everyone for your suggestions.
0
 
shaz_Connect With a Mentor Commented:
well no one suggested activation jar because u didnt post any errors with activation... u were having noclassfounderrors with classes from the mail package.. which ppl here suggested u put in your lib folder
0
 
RBEyestoneAuthor Commented:
Thanks to both of you for your extended comments. And thanks for the pointer re proper manners on the E-E.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.