我运行以下命令:
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中。我还尝试用-classpath替换-cp。我做错了什么?
答案 0 :(得分:5)
如果您使用-cp
,则会忽略-jar
选项。如果你需要在类路径上有额外的jar文件,你应该在main.jar
的清单中指定这个,如下所示:
Class-Path: dependency.jar
(然后您可以使用java -jar main.jar
运行程序。)
相关问题:
答案 1 :(得分:0)
您是否尝试在Windows环境变量CLASSPATH中指定类路径?
指定您的环境变量CLASSPATH并将JAVA_HOME \ lib的值和(所有类的路径)放在一起,并通过包含(点或句点符号)来包含当前目录。