我已经创建了一个Java Swing应用程序,现在我想将其导出为可执行jar
文件。我在Eclipse
创建了应用程序,它具有以下结构:
其中文件夹mysqlconnector
也包含jar
文件。首先,我尝试按照this link中的说明创建seo.jar
,但当我尝试通过java -jar seo.jar
从终端执行时,我收到错误:
错误:找不到文件connectionprops.properties
如屏幕截图所示,我尝试将connectionprops.properties
放入main
包中,但同样的问题仍然存在。
然后我尝试制作一个名为manifest
的{{1}}文件,内容为:
manifest.mf
因为我的项目结构是:
Main-Class: bin.main.MainClass //also tried Main-Class: MainClass
我将seo --> bin --> main --> MainClass.class
放在文件夹manifest.mf
中,并在终端中提供了以下命令:
seo
但是当再次通过jar -cvfm seo.jar manifest.mf *
从终端执行时我收到错误:
错误:无法找到或加载主类bin.main.MainClass
我做错了什么?我应该改变项目结构中的某些内容吗?我的项目中是否有其他java -jar seo.jar
文件存在问题?如何创建可执行文件jar
并成功执行它?
答案 0 :(得分:0)
bin.main
不是包名。您无法将其添加到manifest.mf
。
只有在包中包含主类时才应添加包名称。如果您的包是默认的,那么只放入主类。
Main-Class: MainClass
答案 1 :(得分:0)
Manifest Main-Class属性需要接收Main类的包路径。项目的结构看起来并不重要,重要的是你在src /文件夹中拥有的完全限定的包名。所以在这种情况下,main.MainClass就是你应该在那里写的。
另外,如果在尝试读取程序中的connectionprops.properties时收到其他错误,请尝试使用
打开文件someObject.getClass().getResourceAsStream("connectionprops.properties")