在 CLI 中包含 JAR 文件库



我正在处理一个使用 JNLP 文件的项目。 其中指定了如下资源:

[代码]

<resources>
    <jar href="noterik-apu.jar" main="true" download="eager"/>
    <jar href="springfield-tools.jar" download="eager"/>
    <jar href="commons-httpclient-3.1.jar" />
    <jar href="commons-cli-1.2.jar" />
    <jar href="org.apache.commons.codec.jar" />
    <jar href="org.apache.commons.httpclient.jar" />
    <jar href="org.apache.commons.logging.jar" />
    <jar href="swing-worker-1.1.jar" />
    <jar href="log4j-1.2.16.jar" />
    <jar href="dom4j-1.6.1.jar" />
    <jar href="jaxen-1.1.1.jar" />
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
</resources>

[/代码]

Ant 构建文件

在构建.jar中不包含这些 JAR 文件。 如何在 CLI 中添加这些 jar,以便它不会给我"线程"main"java.lang.NoClassDefFoundError:" ?我试过"-cp file1.jar:file2.jar:etc.jar",但我在互联网上读到你不能将 -cp 与 -jar 一起使用。我怎样才能让它工作?

提前感谢!

不应将 jar 文件嵌入到另一个 jar 文件中。这只有在使用特殊的类加载器时才有效。启动应用时使用-cp选项:

java -cp lib*:.myApp.jar com.foo.bar.MyApp

或者按照此页面上的说明将 jar 文件的相对路径包含在 myApp 的清单中.jar并使用 java -jar myApp.jar 启动应用。

如果您在编译时使用 linux

$ javac -cp myjar.jar Hello.java

并且在运行使用时,需要包含带点的当前目录

$ java -cp myjar.jar:. Hello

最新更新