【问题标题】:Additional jar files for java.exe -jarjava.exe -jar 的附加 jar 文件
【发布时间】:2012-07-20 19:10:33
【问题描述】:

我运行以下命令:

C:\Projects\java -cp ./dependency.jar -jar ./dist/main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: MyException
Caused by: java.lang.ClassNotFoundException: MyException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Main. Program will exit.

MyException 在dependency.jar 中。我还尝试将 -cp 替换为 -classpath。我做错了什么?

【问题讨论】:

    标签: java jar


    【解决方案1】:

    如果您使用-jar,则会忽略-cp 选项。如果您在类路径上需要额外的 jar 文件,您应该在 main.jar 的清单中指定它,如下所示:

    Class-Path: dependency.jar
    

    (然后您可以使用java -jar main.jar 运行您的程序。)

    相关问题:

    【讨论】:

    • 一个不错的选择是制作一个捆绑所有依赖项的单个 jar。搜索“jar-with-dependencies”。
    【解决方案2】:

    您是否尝试过在 windows 环境变量 CLASSPATH 中指定类路径?

    指定您的环境变量 CLASSPATH 并输入您的 JAVA_HOME\lib 和(所有类的路径)的值,并通过包含(点或句点符号)来包含当前目录。

    【讨论】:

    • 使用-jar 选项时,CLASSPATH 环境变量会被忽略。
    猜你喜欢
    • 2020-09-30
    • 2011-10-13
    • 2010-10-03
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2018-05-02
    相关资源
    最近更新 更多