2013-01-06 50 views
-1

进出口工作在Ubuntu的。我制作了简单的使用3个类的GUI应用程序。 Main是包含main方法的Test.class。我已经从控制台级别将它们全部打包成JAR。现在我有 “kalkulator.jar”,其中包含:的Test.class,MyFrame.class,MyPanel.class和META-INF文件夹中。在META_INf中有MANIFEST.MF。 MANIFEST.MF中的内容是:“Main-Class:Test”和换行符。现在我尝试从控制台打开我的JAR: java -jar kalkulator.jar 我得到:“线程中的异常”main“java.lang.NoClassDefFoundError:Test(错误的名称:myproject/Test”) myproject是包我所有的课程。 所以,我怎么能解决呢?Java的JAR - 例外在线程 “主要” java.lang.NoClassDefFoundError

+0

什么是Test.java的 '一揽子' 的语句? – bmargulies

+0

package myproject; –

+0

然后你的清单必须说MainClass:myproject.Test – bmargulies

回答

1

你需要做以下的事情:

  1. 确保在你的JAR的目录层次结构中的包层次结构相匹配的,绝对。这些类必须位于jar中名为“myproject”的目录中。如果他们只是处于顶级水平,它将无法工作。

  2. 让主类的名称与主方法的类的全名。 (即myproject.Test)。

  3. 了解如何使用一个构建工具,例如蚂蚁,做这一切。

+0

谢谢。我没有正确地说出第一点 –

相关问题