码迷,mamicode.com
首页 > 编程语言 > 详细

IDEA生成可执行jar文件

时间:2019-05-14 00:38:19      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:tcl   配置   资源   manifest   生成   标签   com   puts   loader   

场景

用IDEA开发一个Java控制台程序,项目完成后,想打包给客户使用。

做法

首先用IDEA打开要生成jar的项目,打开后选择File->Project Structure...

技术图片

选择Artifects选项再点击+号

技术图片

选择JAR,再选择From modules with dependencies...,来新增一个Artifect

技术图片

弹出对话框让我们配置这个Artifect

  • Main Class 选择程序入口类,也就是main方法所在的类
  • Directory for META-INF/MANIFEST.MF,选择入口类所在的src目录

技术图片

设置完后点击OK

如果想要将资源文件(图片,音频,视频,二进制文件等)打包到jar中。在Output Layout标签卡下,点击+,选择Directory Content

技术图片

选择你想打包的文件所在的文件夹,这里我选择assets

技术图片

这样子做之后,如果直接打包会把assets目录下的文件和文件夹打包进jar,不会把assets目录本身打包进jar,如果想连同assets目录打包进jar,那么继续。

在我们刚添加的项右键,点击Surround With...

技术图片

选择Directory

技术图片

创建一个文件夹将它包裹起来。

技术图片

包裹起来后,点击OK回到IDEA主界面

技术图片

最后,点击Build->Build Artifacts...,生成jar文件。

技术图片

生成的jar文件在工程目录下的classes/artifacts/<工程名>_jar下找到

java -jar命令尝试运行生成的jar,没有问题。说明生成成功

技术图片

我们查看jar里面的文件结构,也符合预期。

技术图片

读取资源

在java代码中,如果要读取资源,可以通过<ClassName>.class.getClassLoader().getResourceAsStream(path);这种方式得到一个资源文件的InputStream。

上面的getResourceAsStream方法,path参数要传进去资源的相对路径,比如在jar中的assets目录下有个sound.mp3的文件,那么就写getResourceAsStream("assets/sound.mp3")

IDEA生成可执行jar文件

标签:tcl   配置   资源   manifest   生成   标签   com   puts   loader   

原文地址:https://www.cnblogs.com/luoyesiqiu/p/10859887.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!