我编译了一个JAR文件并在清单中指定了Main-Class(我使用了Eclipse Export函数).我的依赖项都在标记的目录中lib.我似乎无法得到关于如何执行我的JAR文件的直接答案,同时指定它应该使用lib/*作为类路径.
我试过了:
]$ java -jar -cp .:lib/* MyJar.jar
]$ java -cp .:lib/* -jar MyJar.jar
]$ java -cp .:lib/* com.somepackage.subpackage.Main
Run Code Online (Sandbox Code Playgroud)
等等...
每个都给出一个错误说:
Error: Could not find or load main class ....
或者NoClassDefFoundError表示没有找到库.
我甚至尝试重新制作JAR文件并包含lib目录和内容,但仍然没有骰子......
如何从命令行执行JAR文件并指定要使用的类路径?
我下载了Eclipse(Mars)的最新版本,并在eclipse.ini文件中将所需的Java版本更改为1.6,因为我的项目使用的是Java 1.6.
我在Eclipse中配置了已安装的JRE以使用Java 1.6.但是当我尝试执行我的ant目标时,它会产生一个错误:
不支持小于1.7的JRE版本.
有没有在Mars版本中使用Java 1.6的解决方法,因为我目前无法升级到Java 1.7?
我有一个 Maven 项目,其中有一个Main.java类,其中包含main()我想从 Windows 命令提示符执行的方法。我正在使用以下命令来执行它,但它失败并显示错误消息(如下所示)。该程序在 IDE 中运行良好。
stackoverflow 上的类似问题为什么我在 Java 中得到 NoClassDefFoundError?已列出但未提供解决方案。它只是详细说明问题。
请指导。
执行主类的命令:
java -classpath target\jobchain-dataloader.jar com.ebayenterprise.ecp.jobs.Main
Run Code Online (Sandbox Code Playgroud)
错误日志:
C:\office-data\v11-Projects\jobchain-dataloader>java -classpath target\jobchain-dataloader.jar com.ebayenterprise.ecp.jobs.Main
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/quartz/ScheduleBuilder
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.quartz.ScheduleBuilder
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud)