0

我无法运行项目 lib/ 目录中的 jar 文件中存在的 main()。

蚂蚁目标是:

<target name="testTarget">
    <java jar="lib/test-jar-1.1.jar" fork="on" />
</target>

异常跟踪是:

 [java] java.lang.NoClassDefFoundError: com/google/common/base/Predicate
 [java] Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate
 [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] Could not find the main class: com.test.framework.startup.Startup. Program will exit.
 [java] Exception in thread "main" 
 [java] Java Result: 1

我的 claspath 中已经有了番石榴

<pathelement location="lib/guava-14.0.jar" />

请帮我解决问题。

4

2 回答 2

1

将类路径或类路径引用传递给您的 java 任务。 http://ant.apache.org/manual/Tasks/java.html

于 2013-10-08T20:00:16.617 回答
0

可执行 jar 从它们的清单文件中获取它们的运行时类路径。

以下答案给出了如何构建可执行 jar 的示例:

于 2013-10-08T20:04:48.143 回答