0

所以我有一个需要 2 个 jars 作为依赖项的 java 应用程序。两个依赖项之一是我编写的名为 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

所以我不明白可能是什么问题,为什么这个程序关心它的依赖项之一是否有主类?

顺便说一句,Vt Access 的清单在这里:

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

1 回答 1

1

您的班级名称无效:

vt.access.workshop/UI

应该

vt.access.workshop.UI

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

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

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

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

有关更多信息,请参阅Java 教程

于 2013-03-11T08:31:28.210 回答