“无法从类路径上的jar加载Main-Class清单属性

时间:2013-03-11 07:42:41

标签: java jar manifest

所以我有一个java应用程序需要2个jar作为依赖项。其中一个依赖项是我编写的名为VT Access的java库,它没有主类。另一个依赖jar是jsoup。

所以我使用Manifest从eclipse导出我的java应用程序,包括这两个jar:

Manifest-Version: 1.0
Main-Class: vt.access.workshop/UI
Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Programs\VT Access API workshop\Dependencies\*"

现在,当我运行生成的jar时,我收到错误:

Failed to load Main-Class manifest attribute from
.\VT Access.jar

所以我不知道可能是什么问题,为什么这个程序关心其中一个依赖项是否有一个主类?

btw Vt Access的清单在这里:

Manifest-Version: 1.0
Class-Path: "C:\Users\ethan\Documents\ACTUAL My Documents\Libraries\Java Libraries\jsoup\jsoup-1.6.3.jar"

1 个答案:

答案 0 :(得分:1)

您的班级名称无效:

vt.access.workshop/UI

应该是

vt.access.workshop.UI

此外,我不确定你可以在类路径中使用绝对路径,我甚至不太确定你可以使用通配符。而且我也很确定类路径不是传递的,所以你应该使用相对路径,并在jar路径中广告jar所依赖的所有jar文件:

Class-Path: jsoup-1.6.3.jar vtaccess.jar

如果将这些库添加到子目录中,请使用foward斜杠而不是反斜杠。并从jar文件名中删除空格:

Class-Path: lib/jsoup-1.6.3.jar lib/vtaccess.jar

有关详细信息,请参阅the Java tutorial