我遇到了Java错误的困难。当我双击我编译的项目Jar文件以运行它时,我得到了这个:
Could not find the main class: testPackage.testFrame. Program will exit.
但是,我的主类是在项目属性中定义的。此外,当我直接从NetBeans运行项目时,一切正常。
我正在使用ip2c.jar第三方库来确定来自IP地址的国家/地区。如果我评论使用ip2c.jar文件的类,我不会收到错误。
第三方库如何阻止JVM查找我的主类?
答案 0 :(得分:6)
如果要通过单击jar来运行应用程序,则需要在jar中的META-INF/MANIFEST.MF
文件中指定主类,如here所述。确保正确定义。
您应该能够在创建jar文件期间在Netbeans中执行此操作。
您也可以在SO中找到this question。
答案 1 :(得分:3)
如果我评论使用ip2c.jar文件的类,我不会收到错误。
当您评论上述用法时,某些类是否正确编译? 当你包含时,你有一些错误,导致你的Main类的.class不会被生成? - 只是提示第三方jar不会干扰主jar中的META-INF / MANIFEST.MF。
答案 2 :(得分:2)
我也有这个问题。碰巧Java没有正确地告诉你ERROR。 虽然我的主要课程是正确的,但它告诉我,我的主课程没有找到。我的错误 就是这样,我没有将新库复制到Netbeans之外的lib文件夹中。希望你能得到这个......我的意思是,我创建了一个文件夹来运行我的JAR文件,在这个文件夹中,我有一个我从项目中复制的lib文件夹。这可能听起来不太清楚,如果有人有这个错误,我可以帮助你。感谢。
答案 3 :(得分:1)
你需要确保你的清单是正确的并且在正确的目录中(看起来很好,然后错误消息包含一个类名),并且该类在JAR中,并打包了一个匹配的正确目录结构它的包装结构。