执行jar时没有找到main

时间:2012-03-17 14:46:34

标签: java jar javac

http://pastebin.com/1btVw8Cb

上面的代码中有两个类。

以上是我的代码,当我在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中运行良好><请帮忙。

3 个答案:

答案 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

那会有用......