可执行jar无法找到或加载主类

时间:2016-07-28 02:31:26

标签: java

我一直在努力解决这个常见错误并且无法解决它。这个应用程序由多个包组成,并且在JCreator中运行良好(目前我需要使用这个IDE而不是Eclipse)。

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

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 \类\的Dykstra \ DPLUS \主的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \库的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\迪杰特斯拉\ DPLUS \命令的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \文件的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\迪杰特斯拉\ DPLUS \文件\显示的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\迪杰特斯拉\ DPLUS \命令的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \文件的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\迪杰特斯拉\ DPLUS \文件\显示的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \ GUI的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \ GUI的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \作业的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \作业的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\的Dykstra \ DPLUS \类型的* .class   C:\ COMPILE \ MyProjects下\的Douwe \类\迪杰特斯拉\ 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

有谁能看到我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

如果没有设置应用程序的入口点,通常此错误是由MANIFEST.MF引起的。 您的清单文件应该有这行代码

Main-Class: YourPackage.DPMain

或者,您可以执行以下操作。

java -cp .;app.jar YourPackage.DPMain

答案 1 :(得分:0)

在我的实施中,有一些与你不同的东西,你可以参考:

(1)文件夹(压缩前)结构 您需要添加一个META-INF文件夹并将MANIFEST.MF放入其中

enter image description here

(2)MANIFEST.MF中的内容 我认为您应该使用包格式而不是文件夹树格式:

Manifest-Version: 1.0
Main-Class: com.loadtest.mgr.LoadTestStarter