我有一个项目,比如A和一个包含在其构建路径中的 jar,比如. jar 包含一个 main 方法,其类名在 Manifest 文件中提供。
从A的 build.xml 我使用以下代码调用 jar 文件:
<java jar="lib/a.jar" fork="true">
<arg value="test param" />
</java>
清单文件指向:myframework.Startup
当我尝试运行 ant 文件时,我得到:
[java] java.lang.NoClassDefFoundError: org/apache/log4j/Logger
[java] at myframework.Startup.<clinit>(Startup.java:40)
[java] Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
[java] at java.net.URLClassLoader$1.run(Unknown Source)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClass(Unknown Source)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClass(Unknown Source)
[java] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
[java] ... 1 more
[java] Could not find the main class: myframework.Startup. Program will exit.
[java] Exception in thread "main"
[java] Java Result: 1
但是当我直接从我的编辑器 Eclipse 运行 jar 文件时,即右键单击 a.jar-> 运行方式 -> Java 应用程序它运行良好。
请帮忙。