Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

时间:2022-04-17 22:08:12

我们使用Spring Boot 2.0 创建好我们的项目后,我们一般需要打包,然后部署到服务器上。

打包步骤:

1. 选中项目,右键——> Open Module Settings.

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

 2. 切换到Artifacts 选项卡下,点击+ 号

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

 3. 点击+ 后,可以看到有很多选项,我们选择Jar, From modules with depedency

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

 4. Main Class 文件浏览或者搜索找到我们的主函数,勾选copy to the out put directory and link via manifest.

 Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

Tips:需要测试类就勾选Include tests,我这里不需要,不勾选点击Ok.

5.然后点击Apply ,再点击OK

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

6. 这时候选中项目,然后点击顶部的菜单栏找到Build,应该可以看到Build Artifacts 不再是灰色了,这是我们要选中它。

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

7.点击后会弹出来这样一个对话框

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

8.我们点击Build,等待片刻就可以看到多了一个out文件夹

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

9. 到这里你可能神奇地发现,咦不对哈,我想要打包成一个单独的Jar包,怎么都解压打包到一个文件夹中了。

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

10. 我们现在就来解决这个问题

第一种方式:cmd中打开项目所在文件夹,然后执行这个清楚和打包命令即可

mvn clean package

 

第二种方式:(推荐这种,方便快捷)

选中Project ,然后点击右侧的Maven 菜单条, 展开Lifecycle

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

选中package ,点击运行按钮

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

Tips: 注意看target文件夹下最开始是没有*.jar 的

当执行完毕后,我们可以看到target 文件夹下多了一个*.jar的文件,这个就是我们想要的一个独立的可执行jar 包了。

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

我们把上面这个jar拿出来,复制到一个测试文件夹下

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

cmd打开后执行

java -jar swallow-security-scan-0.0.1-SNAPSHOT.jar

 Tips:按下Ctrl+C可以非常优雅地关闭我们的程序

 Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

这样就可以运行了,访问我们的网址

http://127.0.0.1:8081/

 显示页面如图所示

 Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar

当然本来到这里就可以结束了。

可作为极客来说,还想变得更完美点,让我们一起来写个脚本吧。

该脚本功能:执行我们的Spring Boot 应用程序后,打开某一个指定的网址

新建一个文本文件和刚才的jar 处于同一目录,修改格式为bat,内容如下所示:

run.bat 

@echo off
start java -jar swallow-security-scan-0.0.1-SNAPSHOT && start http://127.0.0.1:8081
@echo if you want to exit the application,please press  ctrl + C in another console window
@pause

注意:运行后需要等待几秒,再次刷新页面就可以访问了。

Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar