转https://www.cnblogs.com/VweiweiyixiaoV/p/6610681.html

https://www.cnblogs.com/Bruce_H21/p/9909198.html

背景:

项目里面要定时备份文件和删除历史文件,我就单独建了个java项目,里面就一个含main方法的类来干这个活儿。

然而,咋把它导出成为一个可以在windows下可执行的jar包呢? 看下面五个步骤。

环境:

Win10,jdk1.7, idea2016.2

步骤:

1.选中java项目,选择 File -> Project Structure (快捷键:Ctrl+Alt+Shift+S)。

a3dbaa6223be265cb6e935a0231580ab.png

2.在弹出的窗口中左侧选中"Artifacts",点击"+"选择jar,然后选择"from modules with dependencies"。

873087b6127ed0be16603f042bca8d27.png

3. 在配置窗口中配置"Main Class",这儿选择一个入口java类(有main方法),完成后,点击OK,OK按钮。到这儿就完成了“Project Structure”的设置了。

14e781e5b640d55bfceb3920d80df18b.png

4.回到IDEA的主菜单,选择“Build - Build Artifacts”下的“Build”或者“Rebuild”即可生成最终的可运行的jar.

d8d9b95bf48fb1e1e0f1e2d6872f3165.png

1b60698269fb067581c062ec78e7a90a.png      

06751dd38a3228a264f7183867a360a3.png

5. 最后就是在cmd窗口中,切换到jar包所在的目录,执行命令:java -jar xxx.jar,即可运行jar文件。或者,也可以写一个 .bat的批处理文件。

0f3e094431ec1a4daf0d4d3f9fd2c91b.png

错误处理

c885884cc90a73007e8797a5b7e46c7a.png

封装的过程如下:

ab8fdab2d274254f6f80820e4fac87a1.png

f7240ac01e00cf3eabf8a3c87fa9236d.png

02d2f2ff1d3f5e8dbc3e6f552ae67031.png

然后准备打包

ae3e6eb278e45ed3ec9e5a70af661dfe.png

选择Build或者ReBuild即可。

63b9536778255b87f3879f5047b5a664.png

但这样就会引起开始第一个图的问题。提示无法加载主类,另外一个情况就是所有的外部第三方jar包都被封装到一个jar包里面了。

c601dfbf64d458a53dc4b602bced859f.png

f31b1145c9078a98e8bdb9bbb849ef0d.png

那么如何能解决这个问题呢?百度找了很多发现其实配置都不准确,最终发现有个地方提示如下:

https://stackoverflow.com/questions/15724091/how-to-run-a-jar-file-created-using-intellij-12

f7e26079bb5092ee5b41e4400cdcab8f.png

好依葫芦画瓢,首先动手前把刚才加入到错误位置的文件删除掉。

5014d459ad32f9b5cd74b0bb4359e9ae.png

那实际应该配置如下:

baf9620b07b734ef08b32a7a816a2a2d.png

7ffa0968f94525548b301cc337aed255.png

ebb982f46e7a92681c428d3c82e57946.png

打包

ae3e6eb278e45ed3ec9e5a70af661dfe.png

会新增一个文件夹

838777c01262f86111c2f645f0282115.png

25331e907cb6aec06663da5f4ac92b52.png

好了,用cmd执行一下。久违的main出来了。

85108386053086ef7fb2f22e72975b6d.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐