【发布时间】:2017-08-03 03:49:52
【问题描述】:
我已经制作了一个 Java Swing 应用程序,现在我想将它导出为一个可执行的jar 文件。我在eclipse 中创建了该应用程序,它具有以下结构:
其中文件夹mysqlconnector 还包含一个jar 文件。我做了以下努力:
1. 首先,我尝试按照this link 中的说明将其从Eclipse 导出为Runnable jar。我创建了seo.jar,但是当我尝试通过java -jar seo.jar 从终端执行它时,我得到一个错误:
错误:找不到文件 connectionprops.properties
我检查了jar,发现它不包含文件connectionprops.properties。即使我手动将connectionprops.properties 添加到我的jar 文件中,问题仍然存在。
2. 然后我尝试制作一个名为manifest.mf 的manifest 文件,其内容为:
Main-Class: bin.main.MainClass //also tried Main-Class: MainClass
我将manifest.mf 放在文件夹seo 中,并在终端中输入以下命令:
jar -cvfm seo.jar manifest.mf *
创建jar后,命令:
jar -tvf seo.jar
给我以下输出:
0 Wed Mar 15 09:13:26 EET 2017 META-INF/
101 Wed Mar 15 09:13:26 EET 2017 META-INF/MANIFEST.MF
0 Fri Dec 09 14:00:06 EET 2016 arial-unicode-ms/
23275812 Fri Dec 09 14:00:06 EET 2016 arial-unicode-ms/ARIALUNI.TTF
2426 Fri Dec 09 14:00:06 EET 2016 arial-unicode-ms/arial-unicode-ms.png
98 Fri Dec 09 14:00:06 EET 2016 arial-unicode-ms/myfontsfree.txt
23275812 Fri Dec 09 13:59:58 EET 2016 ARIALUNI.TTF
0 Mon Mar 13 11:35:16 EET 2017 bin/
0 Mon Mar 13 09:03:32 EET 2017 bin/gui/
5702 Mon Mar 13 09:03:32 EET 2017 bin/gui/GuiFrame.class
73666 Mon Mar 13 09:03:24 EET 2017 bin/gui/img.png
0 Wed Mar 15 09:10:16 EET 2017 bin/main/
1961 Mon Mar 13 09:03:32 EET 2017 bin/main/ReadProperties.class
1007 Mon Mar 13 11:30:24 EET 2017 bin/main/MainClass.class
0 Mon Mar 13 11:29:12 EET 2017 bin/main/resources/
157 Mon Mar 13 11:29:12 EET 2017 bin/main/resources/connectionprops.properties
0 Mon Mar 13 09:03:32 EET 2017 bin/listeners/
5395 Mon Mar 13 09:03:32 EET 2017 bin/listeners/RegisterIdListener.class
5065 Mon Mar 13 09:03:32 EET 2017 bin/listeners/PayIdListener.class
5081 Mon Mar 13 09:03:32 EET 2017 bin/listeners/StarToBirdListener.class
5095 Mon Mar 13 09:03:32 EET 2017 bin/listeners/DeleteStarListener.class
648 Mon Mar 13 09:03:32 EET 2017 bin/listeners/GoBackListener.class
2707 Mon Mar 13 09:03:32 EET 2017 bin/listeners/DeleteListener.class
73666 Mon Mar 13 09:03:24 EET 2017 bin/listeners/img.png
2612 Mon Mar 13 09:03:32 EET 2017 bin/listeners/NewYearListener.class
6023 Mon Mar 13 09:03:32 EET 2017 bin/listeners/PassListener.class
6710 Mon Mar 13 09:03:32 EET 2017 bin/listeners/AllListener.class
3523 Mon Mar 13 09:03:32 EET 2017 bin/listeners/PdfListener.class
7011 Mon Mar 13 09:03:32 EET 2017 bin/listeners/NewStarListener.class
6620 Mon Mar 13 09:03:32 EET 2017 bin/listeners/PaidIdListener.class
2644 Mon Mar 13 09:03:32 EET 2017 bin/listeners/PayListener.class
6737 Mon Mar 13 09:03:32 EET 2017 bin/listeners/GotIdListener.class
6671 Mon Mar 13 09:03:32 EET 2017 bin/listeners/ToBirdsListener.class
5474 Mon Mar 13 09:03:32 EET 2017 bin/listeners/ReportsListener.class
5385 Mon Mar 13 09:03:32 EET 2017 bin/listeners/NewListener.class
2892 Mon Mar 13 09:03:32 EET 2017 bin/listeners/RegisterListener.class
0 Mon Mar 13 11:35:16 EET 2017 bin/META-INF/
53 Mon Mar 13 11:35:16 EET 2017 bin/META-INF/MANIFEST.MF
73666 Mon Mar 13 09:03:24 EET 2017 bin/img.png
0 Mon Mar 13 11:35:18 EET 2017 classes/
0 Mon Mar 13 11:35:18 EET 2017 classes/artifacts/
0 Mon Mar 13 11:35:18 EET 2017 classes/artifacts/seo_jar/
3406481 Mon Mar 13 11:35:18 EET 2017 classes/artifacts/seo_jar/seo.jar
157 Sun Jan 22 18:26:06 EET 2017 connectionprops.properties
2148384 Mon Nov 14 17:22:10 EET 2016 itextpdf-5.5.4.jar
31 Mon Mar 13 09:27:02 EET 2017 manifest.mf
0 Thu Dec 08 14:32:48 EET 2016 mysqlconnector/
960374 Fri Oct 17 08:05:36 EEST 2014 mysqlconnector/mysql-connector-java-5.1.34-bin.jar
1358 Fri Mar 10 09:57:22 EET 2017 seo.iml
0 Wed Mar 15 09:11:32 EET 2017 src/
0 Wed Feb 01 15:01:04 EET 2017 src/gui/
73666 Fri Dec 09 13:56:32 EET 2016 src/gui/img.png
5617 Wed Feb 01 12:15:26 EET 2017 src/gui/GuiFrame.java
0 Wed Mar 15 09:08:44 EET 2017 src/main/
601 Fri Mar 03 19:11:24 EET 2017 src/main/MainClass.java~
1315 Sun Jan 22 18:30:54 EET 2017 src/main/ReadProperties.java
1060 Mon Mar 13 11:30:24 EET 2017 src/main/MainClass.java
0 Mon Mar 13 11:27:02 EET 2017 src/main/resources/
157 Sun Jan 22 18:26:06 EET 2017 src/main/resources/connectionprops.properties
48 Wed Mar 15 09:08:32 EET 2017 src/main/MANIFEST.MF
0 Fri Mar 10 10:55:40 EET 2017 src/listeners/
4761 Wed Feb 01 15:33:12 EET 2017 src/listeners/DeleteStarListener.java
5330 Fri Mar 10 10:55:38 EET 2017 src/listeners/PaidIdListener.java
5268 Fri Mar 10 10:55:40 EET 2017 src/listeners/GotIdListener.java
5233 Fri Mar 10 10:55:40 EET 2017 src/listeners/ToBirdsListener.java
5217 Wed Feb 01 15:33:52 EET 2017 src/listeners/RegisterIdListener.java
405 Wed Feb 01 15:32:56 EET 2017 src/listeners/GoBackListener.java
2361 Wed Feb 01 12:13:34 EET 2017 src/listeners/PdfListener.java
5761 Fri Mar 10 10:55:40 EET 2017 src/listeners/AllListener.java
4700 Wed Feb 01 15:33:30 EET 2017 src/listeners/PayIdListener.java
5165 Fri Mar 10 10:15:20 EET 2017 src/listeners/NewListener.java
4717 Wed Feb 01 15:33:18 EET 2017 src/listeners/StarToBirdListener.java
5222 Fri Mar 10 10:12:06 EET 2017 src/listeners/ReportsListener.java
5922 Fri Mar 10 10:17:32 EET 2017 src/listeners/PassListener.java
73666 Fri Dec 09 13:56:32 EET 2016 src/listeners/img.png
2333 Wed Feb 01 12:13:34 EET 2017 src/listeners/NewYearListener.java
6827 Wed Feb 01 15:33:36 EET 2017 src/listeners/NewStarListener.java
2008 Fri Mar 10 10:14:06 EET 2017 src/listeners/PayListener.java
2162 Fri Mar 10 10:15:20 EET 2017 src/listeners/RegisterListener.java
1982 Fri Mar 10 10:15:20 EET 2017 src/listeners/DeleteListener.java
73666 Fri Dec 09 13:56:32 EET 2016 src/img.png
但是当我从终端 java -jar seo.jar 执行时,我得到一个错误:
错误:无法找到或加载主类 src.main.MainClass 我究竟做错了什么?我应该改变我的项目结构吗?我的项目中有其他
jar文件是否存在问题?如何创建可执行文件jar并成功执行?
【问题讨论】:
标签: eclipse java eclipse jar executable-jar