[英]Jar Can't Find Main Class
我得到: Could not find the main class: org.dav.kin.Tester. Program will exit.
Could not find the main class: org.dav.kin.Tester. Program will exit.
当我尝试通过java -jar tester.jar
或 java -classpath tester.jar org.dav.kin.Tester
运行jar文件时, java -classpath tester.jar org.dav.kin.Tester
有人知道错在哪里并且如何解决? 以下是其他详细信息。 谢谢。
清单文件:
Manifest-Version: 1.0
Created-By: DKin
Class-Path: .
Main-Class: org.dav.kin.Tester
jar tf tester.jar
org/
org/dav/
org/dav/kin/
org/dav/kin/Tester.class
org/dav/kin/TesterCellRenderer.class
...
...
META-INF/
META-INF/MANIFEST.MF
更新:
如果我指定系统类路径(包括groovy-all-{version}.jar
,则jar文件将运行,如下所示: java -classpath tester.jar;"%CLASSPATH%" org.dav.kin.Tester
任何人都知道我为什么拥有明确地重述类路径(或更准确地说,是Groovy jar)?
以防万一。 我只是解决完全相同的问题。 代替
Class-Path: .
在MANIFEST.MF
一个应该枚举运行时所需的jar( 带空格 ),因此它应该是这样的:
Class-Path: groovy-all-2.4.5.jar relative/my-dependent-project-artifact.jar
您的jar文件缺少具有该名称的文件
/org/dav/kin/Tester.class
或者您的MANIFEST.MF文件中包含特殊字符
MANIFEST.MF文件具有特定的语法。 最好使用其他工具来生成它们。 但是,我遇到的一些可以提高手写文件成功率的细节包括:
Tester.class的包声明是org.dav.kin吗?
您已经表明您正在使用Groovy。 Groovy确实可以编译为Java类文件,但是仍然需要groovy运行时库。 您需要确保groovy以及类都在类路径中。 尝试这个:
java -classpath tester.jar;groovy-all-1.8.0.jar org.dav.kin.Tester
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.