所以我有一个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"
答案 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。