I am trying to run a java program on my AIX server. I wrote the classpath
/usr/java6/bin/javac -classpath :.:/usr/jdk/commons-net-3.0.1.jar:/usr/jdk/classes12.jar:/usr/jdk/mysql-connector-java-5.1.17-bin.jar:/usr/jdk/jtds-1.2.5.jar:/urs/jdk/mail.jar:/usr/jdk/joda-time-1.6.2.jar:/usr/jdk/commons-codec-1.4.jar:/usr/jdk/commons-logging-1.1.1.jar:/usr/jdk/httpclient-4.1.1.jar:/usr/jdk/httpclient-cache-4.1.1.jar:/usr/jdk/httpcore-4.1.jar:/usr/jdk/httpmime-4.1.1.jar:/usr/jdk/mailapi.jar:/usr/jdk/pop3.jar:/usr/jdk/smtp.jar:/usr/jdk/dsn.jar:/usr/jdk/imap.jar -d . *.java
which seems to compile correctly. Then when I run the program
java daily_transmission
i get the error java.lang.NoClassDefFoundError: javax.mail.Address. All the .jar files that were in Eclipse when it worked before are in the /usr/jdk file.
A
NoClassDefFoundErrormeans that (quoting the relevant JavaDoc):Two things to check:
Firstly, you appear to have have a typo in your classpath (though it can’t have been there when you compiled the code, or it wouldn’t have compiled successfully, so that’s clearly not the root cause of the exception you’re seeing.):
should be
Make sure that you are also using the -classpath option to pass the classpath to
javaas well as tojavacto pick up those.jarfiles at runtime: