首页 文章

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

提问于
浏览
-1

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

所以我使用Manifest导出我的java应用程序,包括来自eclipse的类路径上的这两个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"

1 回答

  • 1

    您的 class 名称无效:

    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 .

相关问题