我的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的源是否可用,所以我可以包含它?
谢谢你,并且有一个好的!
答案 0 :(得分:1)
您需要寻找以下内容:
public static void main(String[] args)
方法。然后你应该可以通过调用
来运行程序java -jar yourjar.jar
干杯。