IDEA生成可执行jar文件

Posted luoyesiqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA生成可执行jar文件相关的知识,希望对你有一定的参考价值。

场景

用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文件的主要内容,如果未能解决你的问题,请参考以下文章

IDEA 打可执行jar包(maven项目)

使用IDEA创建可执行jar

IDEA中maven项目打包生成可执行jar

通过java中的jar命令在命令行中生成可执行的jar文件

Win7不能执行.jar

JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]