Jar Manifest帮助:找不到或加载主类

时间:2018-11-16 20:15:38

标签: java jar manifest executable-jar manifest.mf

尝试创建可执行的jar文件-但我似乎无法正确显示清单

清单文件“ tdms.mf”

Manifest-Version: 1.0
Main-Class: rackserials.tdms

创造瓶子

jar cfvm rackserials.jar tdms.mf  *.class assetdata.xlsx
added manifest
adding: Asset.class(in = 10946) (out= 3918)(deflated 64%)
adding: TDMSConnection.class(in = 2599) (out= 1372)(deflated 47%)
adding: tdms.class(in = 13402) (out= 6732)(deflated 49%)
adding: assetdata.xlsx(in = 23998) (out= 20987)(deflated 12%)

在名为“ tdms”内容的目录中运行此命令:

Asset.class
TDMSConnection.class
tdms.class **where my main is located**
tdms.mf
assetdata.xlsx

CLI

java -jar rackserials.jar 
Error: Could not find or load main class rackserials.tdms

1 个答案:

答案 0 :(得分:0)

JAR文件中的目录结构必须与您的类的包结构匹配,并且Main-Class属性必须设置为包含public static void main(String[] args)方法的类的完全限定名称,即您应用程序的入口点。

您的课程是否在软件包rackserials中?然后,JAR文件中的*.class文件必须位于名为rackserials的目录中,而不是JAR文件的根目录中。

您可以使用jar tvf rackserials.jar列出JAR文件的内容。它应该看起来像这样:

META-INF/MANIFEST.MF
rackserials/tdms.class
(whatever other files)

有关创建JAR文件和使用清单文件创建可执行JAR的所有详细信息,请参见Oracle Java教程中的Packaging Programs in JAR Files