使用继承类创建Jar文件

时间:2012-04-27 18:23:17

标签: java inheritance jar

我的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的源是否可用,所以我可以包含它?

谢谢你,并且有一个好的!

1 个答案:

答案 0 :(得分:1)

您需要寻找以下内容:

  • 您的jar文件包含META-INF上的清单文件
  • 该清单文件包含主类。
  • 您的.class文件位于相应的文件夹中。
  • 您的主要课程有public static void main(String[] args)方法。

然后你应该可以通过调用

来运行程序
java -jar yourjar.jar

干杯。