2011-11-16 74 views
1

我想将我的Java应用程序导出到Runnable Jar文件。 这工作之前,但显然我已经修补了一些东西,现在它不工作。将Eclipse项目导出到Runnable Jar不起作用

从Eclipse中导出工作没有问题,但是当我开始将.jar错误显示出来:

“找不到主类:。game.Main程序将退出”

现在,game.main类是我的主类,所以没关系。 当我运行通过命令行像这样的.jar:

java -cp D:\PathToMyJar\test.jar game.Main 

它也工作得很好。 我只是不能运行.jar文件本身。

我输出的运行配置被设置为正确的Project和main类。 我之前很少使用Eclipse的导出功能,所以我没有选择我能想到的。 从我读过的内容来看,这可能是清单文件的一些问题,但我不知道在哪里检查它或如何改变它 - 除了Eclipse应该能够以某种方式自己做到这一点。 ..

PS:jar文件内的清单如下:

Manifest-Version: 1.0 
Class-Path: . 
Main-Class: game.Main 

Main-Class的是正确的。我不知道Class-Path通常是什么,但我想这意味着通配符,所以也可以。

+0

可以尝试Java的罐子d:\ PathToMyJar \ Test.jar的 – smp7d

+0

@ smp7d启动的jar文件,但它使我的图形不显示。我猜'System.getProperty(“user.dir”)'出于某种原因不适用于此。这就是我用来获取jar文件的目录,所以我可以在同一个目录中获取图像文件。在我的开放职位中的cmd行这工作正常。 – s3rius

回答

2

确保jar包含具有正确指定主类的清单文件。 按照以下说明:http://www.skylit.com/javamethods/faqs/createjar.html

+0

那么,正如我所说,我甚至不知道如何检查我的jar文件是否包含清单。我遵循了“在命令提示符下创建jar文件”中的步骤,但是在成功编译成jar之后,我再次得到相同的错误(找不到主类)。除此之外,它不包括所有的类文件(子文件夹中的文件被省略)。 – s3rius

+0

@ s3rius您可以键入'jar tf my.jar'或在winzip中打开它以查看内容。 – Robin

+0

@Robin谢谢!不知道WinZip(rar)可以读取它。好吧,我没有得到清单文件。它的内容如下:“Manifest-Version:1.0 Class-Path:。 Main-Class:game.Main”所以,我认为看起来没问题。 O_0 – s3rius

相关问题