我正在使用Eclipse来运行我的应用程序。
=>所有这些我一直作为Java应用程序运行(使用Run as Java application option)并且它可以工作。我的程序执行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 :(得分:2)
你提到的问题是因为,编译器无法在jar中找到主类。 为了解决这个问题,我们使用MANIFEST文件。
MANIFEST文件是一个特殊文件,其中包含有关JAR
中打包的文件的信息有关MANIFESTS的详情,请参阅here
解决您的问题。我们需要定义一个MANIFEST文件并在其中定义主类。
创建MANIFEST.MF
jar文件并指定具有main方法的类 使用格式
Main-Class: Mypackage.yourPackhage.OurClass
更新
创建JAR时,请按Define Jar Manifest
在jar中包含清单文件
更新2
结构应该像
YourJAR
META-INF\MANIFEST.MF
CLASS1
CLASS2
答案 1 :(得分:0)
清单是带有“Main-Class”指令的单行文本文件。你需要在记事本或任何地方创建这个文件(称之为manifest.txt之类的有用的东西)。
在你想要的行文件中: Main-Class:file2
确保在行尾有一个强硬的回报。
然后像这样使用jar:
jar cvfm sample.jar manifest.txt *.class