我的 Program.java 是这样声明的类:
public class Program extends JFrame {
...
该程序编译并运行得很好,但是当我创建一个 jar 文件时,我收到了这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Program/jar
Caused by: java.lang.ClassNotFoundException: Program.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
这是我创建 jar 文件的方式(Linux):
javac Program.java
echo Main-Class: Program >manifest.txt
jar cvfm Program.jar manifest.txt Program.class
这是因为我没有在我的 jar 创建中包含 JFrame.class 吗?如果是这样,JFrame 的源是否可用,以便我可以包含它?
谢谢你,祝你好运!