所以我有一个java应用程序,需要2个jar作为依赖项。两个依赖项之一是我编写的一个名为VT Access的java库,它没有主类。另一个依赖jar是jsoup。
所以我导出我的java应用程序,包括在eclipse的类路径上使用Manifest:
Manifest-Version: 1.0
Main-Class: vt.access.workshop/UI
Class-Path: "C:UsersethanDocumentsACTUAL My DocumentsProgramsVT Access API workshopDependencies*"
现在,当我去运行结果jar时,我得到了错误:
Failed to load Main-Class manifest attribute from
.VT Access.jar
所以我不明白这可能是什么问题,为什么这个程序关心它的一个依赖项是否有一个主类?
顺便说一下,Vt Access的清单在这里:
Manifest-Version: 1.0
Class-Path: "C:UsersethanDocumentsACTUAL My DocumentsLibrariesJava Librariesjsoupjsoup-1.6.3.jar"
您的类名无效:
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