我使用Eclipse的“导出 - > Java - > Runnable Jar文件”函数生成了一个非常简单的可运行jar文件。我的HelloWorld类看起来是这样的:Eclipse生成的Runnable jar文件不会执行?
import javax.swing.JFrame;
public class HWorld extends JFrame {
public static void main(String[] args) {
new HWorld();
}
public HWorld() {
this.setSize(200, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Hello World!");
this.setVisible(true);
}
}
现在,生成.jar文件后,使用命令“Java的罐子HWorld.jar”
但是,当我尝试运行命令行罚款执行自身的jar(据称应该工作),我收到以下错误,我不知道为什么:
E:\Eclipse\workspace>HWorld.jar
Exception in thread "main" java.lang.NoClassDefFoundError: E:\Eclipse\workspace\HWorld/jar
Caused by: java.lang.ClassNotFoundException: E:\Eclipse\workspace\HWorld.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: E:\Eclipse\workspace\HWorld.jar. Program will exit.
我的清单看起来是这样的:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: HWorld
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
,看起来真的很腥我的唯一的事情是这样的(因为一个.jar不是一个.class):
Could not find the main class: E:\Eclipse\workspace\HWorld.jar
寻找意见或想法,甚至一个答案!我尽可能提供尽可能多的信息,希望得到高质量的答案。这个线程意味着它应该工作,但不回答我的问题:http://forums.oracle.com/forums/thread.jspa?threadID=2152988。任何人都可以在他们的Eclipse中尝试它吗?
因为我最初发布这个问题后,我现在做这个动作的.jar使用Maven而不是试图用Eclipse来完成。 – djangofan 2014-06-06 23:04:17