java.lang.ClassNotFoundException al ejecutar java -jar

Estoy usando hormiga para construir mibuild.xml archivo, se compila bien, pero luego obtener un tiempo de ejecuciónjava.lang.NoClassDefFoundError cuando se ejecuta el tarro resultante a través de "java -jar my_jar.jar". Parece que esto surge mucho pero ninguna de las soluciones de las preguntas relacionadas funcionó para mí.

Mi ruta de clase parajavac contiene solo/usr/local/lib/libthrift.jar"y la principal.java archivo importa un montón de paquetes de ahorro, tales comoorg.apache.thrift.transport.TTransportException.

Cuando intento ejecutar el programa a través de:

java -jar MyClass.jar

, Me sale el 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.

Aquí están las cosas que he probado hasta ahora que no funcionan:

añadiendo una bandera en la línea de comando como "java-cp /usr/local/lib/libthrift.jar -jar my_jar.jar", el resultado es el mismo error que el anterior

añadiendo<attribute name="Class-Path" value="./:/usr/local/lib/libthrift.jar"/> dentro de mi tarromanifest> etiqueta, el resultado es el mismo error que el anterior

añadiendo-Xbootclasspath/a:/usr/local/lib/libthrift.jar:./ a la línea de comandos de java. resuelve el primer error pero aparece un error diferente:

Excepción en el hilo "main" java.lang.NoClassDefFoundError: org / apache / log4j / Logger en org.apache.thrift.transport.TServerSocket. <clinit> (TServerSocket.java:36) en MyClass.start (Unknown Source) en MyClass .main (Fuente Desconocida)

EDITAR:

Si comento el código que crea una instancia de las clases faltantes pero dejo las importaciones, el código se ejecuta correctamente.

EDITAR:

Trasladé mis clases de java a un servidor e hice referencia a la clase principal con el servidor en el atributo de manifiesto, pero eso no solucionó nada.

Respuestas a la pregunta(7)

Su respuesta a la pregunta