Я сгенерировал очень простой исполняемый файл JAR, используя функцию Eclipse «Экспорт -> Java -> Runnable Jar File».Мой класс HelloWorld выглядит следующим образом:
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 -jar 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 - это не класс.):
Could not find the main class: E:\Eclipse\workspace\HWorld.jar
Поиск идей, мыслей или даже ответа!Я старался дать как можно больше информации в надежде на качественный ответ.Этот поток подразумевает, что он должен работать, но не отвечает на мой вопрос: http://forums.oracle.com/forums/thread.jspa?threadID=2152988.Кто-нибудь еще может попробовать это в своем Затмении?