无法成功从java swing app创建可执行jar

时间:2017-03-12 19:27:32

标签: java eclipse jar executable-jar

我已经创建了一个Java Swing应用程序,现在我想将其导出为可执行jar文件。我在Eclipse创建了应用程序,它具有以下结构:

enter image description here

其中文件夹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并成功执行它?

2 个答案:

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