java.exe-jar的其他jar文件



我运行以下命令:

C:Projectsjava -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中。我还尝试用-classpath替换-cp。我做错了什么?

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

Class-Path: dependency.jar

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

相关问题:

  • 当创建一个jar文件时,我如何保留到其他jar文件的现有类路径
  • 即使jar文件在工作目录中,也找不到类
  • Jetty Classpath问题
  • jar中与MANIFEST.MF相关的问题

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

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

最新更新