我运行以下命令:
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(句点或句点)包含当前目录。