2012-10-09 59 views
1

我使用Eclipse运行我的应用程序。Eclipse运行java应用程序和jar文件

=>所有这一次,我一直在作为Java应用程序(使用作为Java应用程序选项运行)运行,它的工作原理。我的程序执行20分钟,并打印一些数据。

现在我试着创建一个Runnable jar。我能够得到jar文件并执行,但它在1分钟后退出。没有来自SOP的打印。我在main之后立即保存了一个,并且也没有打印。如何调试呢?

我现在收到此错误:

JAR export finished with warnings. See details for additional information. 
    Exported with compile warnings:input.java 
    Jar export finished with problems. See details for additional information. 
    Could not find main method from given launch configuration. 

但在input.java文件public static void main(String[] args)。我不知道为什么当我尝试从命令提示符运行时它会抱怨,并且它给出 no main manifest attribute。我没有创建任何具有该名称的文件。这里出了什么问题?

+0

尚不清楚。你能解释一些代码片段吗? –

+0

我有一个包含2个文件的程序。 file1和file2-具有java main并调用file1。我能够打印所有数据。但是当我做了jar文件时,我无法打印任何东西。事实上没有打印线,我已经完全在主要..所以看起来我的主要immedite线没有执行 –

+1

你是如何执行你的.jar? – User404

回答

2

您提到的问题是因为编译器无法在jar中找到主类。 为了解决这个问题,我们使用了一个MANIFEST文件。

清单文件是包含打包在JAR文件信息的特殊文件

参考here的详细信息,舱单

解决您的问题。我们需要定义一个MANIFEST文件并在其中定义主类。

创建MANIFEST.MF

文件为您的罐子,并指定具有的主要方法 使用格式类

Main-Class: Mypackage.yourPackhage.OurClass 

UPDATE

当你正在创建的JAR,请按照Define Jar Manifest

在您的罐子中包含清单文件

UPDATE 2

结构应该是这样

YourJAR 
    META-INF\MANIFEST.MF 
    CLASS1 
    CLASS2 
+0

谢谢穆库尔。如果我没有蚂蚁包名称怎么办?我有2个文件,1个类是主类,另一个类是主类使用。所以我怎么知道内容。只是主类很好?还有我应该创建的文件结构? –

+0

我看到这个错误:JAR导出完成警告。详情请参阅附加信息。 导出编译警告:sample.java Jar导出已完成并出现问题。详情请参阅附加信息。 无法从给定的启动配置中找到主要方法。 –

+0

如果你没有任何包名,那么只需输入类名即可。 你应该创建一个META-INF文件夹内的MAINFIEST.MF文件 请参考更新2的示例结构 –

0

清单是具有“主类”指令一个单行文本文件。你需要在记事本或任何地方创建这个文件(称之为manifest.txt)。

在该文件中你想要的行: 主类:文件2

确保有在该行的最后一个硬回车。

然后用罐子这样的: jar cvfm sample.jar manifest.txt *.class

相关问题