找不到Java主文件

时间:2012-05-31 17:55:35

标签: java jar

我正在尝试使用jar工具创建一个jar。 使用以下命令

jar.exe cmfv manifest.txt lol.jar Main.class

这将生成一个带有以下清单的jar:

Manifest-Version: 1.0
Created-By: 1.7.0_03 (Oracle Corporation)
Main-Class: Main

当我从命令行(java -jar lol.jar)运行jar时,它运行正常。但是,当我双击我文件夹中的jar时,它会出错:“找不到主类:Main.Program将退出。”

导致这种情况的原因是什么?


在尝试了一些东西后,Manifest目前看起来像这样:

Manifest-Version: 1.0
Class-Path: .
Created-By: 1.7.0_03 (Oracle Corporation)
Main-Class: code.Main

Main类添加了包声明。在jar中,添加了'code'文件夹/包。但是仍然有同样的错误。

3 个答案:

答案 0 :(得分:1)

您应该将Main类放入包中,并相应地调整清单。那应该解决问题

答案 1 :(得分:0)

您需要将Main类放在类路径中。当您从命令行运行它时,您的当前目录会自动添加到您的类路径中,这就是它在那里工作的原因。双击它时,您没有像在类路径中那样指定jar的路径。有一些方法可以将类添加到清单中的类路径中。 下面是我的一个罐子的例子。 lib是jar中的一个文件夹,com / sample / CommandLineClient.class是我的主类。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.5.0_12-b04 (Sun Microsystems Inc.)
Class-Path: lib/args4j-2.0.19.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/saaj.jar lib/wsdl4j-1.5.1.jar
Main-Class: com.sample.CommandLineClientSysIn

答案 2 :(得分:0)

.jar扩展名的文件关联是什么?

双击jar文件应该让jar运行javaw命令。

尝试使用javaw默认执行jar文件。

另请看一下:http://www.wikihow.com/Run-a-.Jar-Java-File