2016-07-28 102 views
0

我一直在努力解决这个常见的错误,只是无法解决它。此应用程序由多个软件包组成,并且可以在JCreator中正常运行(目前我需要使用此IDE而不是Eclipse)。可执行jar无法找到或加载主类

我的清单文件是在这里(有在最后2个空行):

Manifest-Version: 1.0 
Created-By: 1.6.0_45 (Sun Microsystems Inc.) 
Main-Class: C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\main\DPMain 

我写一个bat文件创建的jar:

jar -cvfm DPlus.jar C:\COMPILE\MyProjects\douwe\classes\MANIFEST.MF C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\main*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\library*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\command*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\file*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\file\display*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\command*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\file*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\file\display*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\gui*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\gui*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\job*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\job*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\types*.class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\util*.class

当我尝试执行命令

C:\COMPILE\MyProjects\douwe\classes>java -jar DPlus.jar

我总是得到错误:

Error: Could not find or load main class C:\COMPILE\MyProjects\douwe\classes\dykstra\dplus\main\DPMain 

任何人都可以看到我在做什么错在这里?

回答

1

通常,这个错误是由于MANIFEST.MF,如果没有设置应用程序的入口点。 你的清单文件应该有下面这行代码

Main-Class: YourPackage.DPMain 

或者,你可以做到以下几点。

java -cp .;app.jar YourPackage.DPMain 
0

我在执行中,有一些与你不同,你可以参考:

(1)文件夹(压缩前)结构 你需要添加一个META-INF文件夹,并把你的MANIFEST.MF在它

enter image description here

(2)中的内容你MANIFEST.MF 我认为你应该使用的封装格式,而不是一个文件夹的tr ee格式:

Manifest-Version: 1.0 
Main-Class: com.loadtest.mgr.LoadTestStarter 
相关问题