我在 Ubuntu 上工作。我制作了简单的GUI应用程序,使用3个类。 Main是Test.class,包含main方法。我已经从控制台级别将它们全部打包到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 我得到:“线程中的异常”主“java.lang.NoClassDefFoundError:测试(错误的名称:myproject / Test”) myproject是我所有课程的包。 那我怎么解决呢?
答案 0 :(得分:1)
您需要执行以下操作:
绝对确保jar中的目录层次结构与包层次结构相匹配。这些类必须位于jar中名为“myproject”的目录中。如果他们只是在顶级,它将无法正常工作。
使用main方法将Main-Class名称设为类的完全限定名称。 (即myproject.Test)。
学习使用构建工具,例如蚂蚁,做这一切。