上面的代码中有两个类。
以上是我的代码,当我在Eclipse中运行时工作正常,在Netbeans中运行良好。
我正在尝试创建一个独立的应用程序,一个jar文件。
我把罐子加倍时得到的错误是:
无法找到主类:NewJFrame。程序将会退出。 我从命令promt获得以下内容:
E:\Java Programs\Eclipse Workspace\test3\src\test3>java testT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: testT/jar
Caused by: java.lang.ClassNotFoundException: testT.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: testT.jar. Program will exit.
我从这里开始遵循命令:"Could not find the main class: XX. Program will exit." 所以这就是我在命令promt中输入来创建我的jar:
E:\Java Programs\Eclipse Workspace\test3\src\test3>jar cfm MyJar.jar manifest.tx
t *.class SINGLE.TXT
http://imgur.com/a/wlCpc#SYR3L
我拍摄的一些照片显示了这个过程。
所以我认为当我做javac时问题可能是错误的?但它构建良好并且在netbeans和eclipse中运行良好><请帮忙。
答案 0 :(得分:2)
您需要使用-jar
标记。
java -jar MyJar.jar
http://docs.oracle.com/javase/tutorial/deployment/jar/run.html说
JAR文件作为应用程序
您可以使用Java解释器运行JAR打包的应用程序。基本命令是:
java -jar jar-file
-jar
标志告诉解释器应用程序是以JAR文件格式打包的。您只能指定一个JAR文件,该文件必须包含所有特定于应用程序的代码。
和http://docs.oracle.com/javase/tutorial/deployment/jar/modman.html解释了如何在清单中放置清单。
m
选项表示您要将现有文件中的信息合并到您正在创建的JAR文件的清单文件中。
答案 1 :(得分:0)
现在正在运作。我没有改变任何东西,也许内存被卷入了,这就是为什么它给我带来了问题。我认为重新启动计算机是什么修复它。但是,我不确定到底出了什么问题,虽然现在工作正常。谢谢你们的帮助
答案 2 :(得分:0)
添加
Main-class: Splash
部分到清单文件。设置主类名称而不是Splash
那会有用......