I use ant to build my file build.xml, it compiles in order, but then gets the runtime java.lang.NoClassDefFoundErrorwhen starting the resulting jar via " java -jar my_jar.jar". This seems like a lot, but none of the related questions helped me.
My class path javaccontains only " /usr/local/lib/libthrift.jar", and the main file .javaimports a bunch of lean packages, such as org.apache.thrift.transport.TTransportException.
When I run the program with:
java -jar MyClass.jar
I get an error:
Exception in thread "main" **java.lang.NoClassDefFoundError**: org/apache/thrift/transport/TTransportException
Caused by: java.lang.ClassNotFoundException: org.apache.thrift.transport.TTransportException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: **MyClass**. Program will exit.
Here is what I have tried so far, which does not work:
add a flag on the command line, for example, "java ", the result will be the same as above -cp /usr/local/lib/libthrift.jar -jar my_jar.jar
<attribute name="Class-Path" value="./:/usr/local/lib/libthrift.jar"/> jar manifest>, ,
-Xbootclasspath/a:/usr/local/lib/libthrift.jar:./ java. , :
"main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger org.apache.thrift.transport.TServerSocket. <clinit> (TServerSocket.java:36) MyClass.start( ) MyClass.main( )
! .
EDIT:
, , , .
EDIT:
Java MainClass , .