IntelliJ IDEA中基于Maven的多模块SpringBoot项目打包简易教程
IntelliJ IDEA中基于Maven的多模块SpringBoot项目打包简易教程
- 前言
- 基础java项目打jar包过程
- 基于Maven的SpringBoot项目打包流程
- 在IntelliJ IDEA中配置Maven
- 单模块Maven项目创建与打包
- 多模块Maven项目打包要点
前言
在项目开发完毕后就是打包部署环节了。java项目打包可以根据类型不同分为jar、war、ear
- jar,一般可以把类库、可执行程序、站点打包为jar。类库不具备可执行行,一般作为其他项目的依赖包使用,比如通用工具类可以单独打一个jar包。可执行程序中一般会在某个主类中包含程序入口方法,就是main方法,以前的带界面的java swing项目最终打包发布的jar都具有可执行行,一般双击jar文件就会运行程序。站点也可以打包为jar,一般都内嵌tomcat,也是目前springboot最常用的打包方式。
- war,war对应的是一个独立的java web项目,不会内嵌tomcat。
- ear,ear对应的是企业级java Bean,以前传统的大型分布式系统架构下的产物。ear的部署需要特定的应用服务器环境,比如JBoss、webshpere、WebLogic。Tomcat是不支持ear部署的。
基础java项目打jar包过程
1、首先打开IntelliJ IDEA,同时打开或新建一个javat项目。
2、在IntelliJ IDEA的顶部工具栏中点击图标Project Structure(Ctrl+Alt+Shift+S),打开Project Structure设置窗口,如下图:
3、在Project Structure设置窗口中选中左侧菜单中Project Settings->Artifacts,中间部分选择+号在弹出菜单中选择JAR->From modules with dependencies…,如下图:
4、在弹出的Create JAR from Modules窗口中选择要打包的模块和主类,如下图:
如果要把应用打包为单个jar文件,则选择extract to the target JAR
如果只是把依赖的jar文件复制到输出目录,而不是打包为单独的jar文件则选择copy to the output directory and link via manifest
5、点击Create JAR from Modules窗体中的OK按钮,回到Project Structure设置界面,如下图:这里可以在Name后面修改jar包的名字。
输出目录确保是空的,如果里面有一个MANIFEST.MF文件,要先删除掉。
6、然后点击OK按钮。这样基本的设置就完毕了,然后就可以开始打包了,如果初次打包按照以下流程,选择IntelliJ IDEA顶部菜单Build->Build Artifacts…,如下图:
7、之后会弹出Build Artifact菜单项,首次编译选择Build,再次编译选择Rebuild。如下图:
8、编译完毕之后,在输出目录查看xxx.jar。
基于Maven的SpringBoot项目打包流程
在当前微服务架构大行其道的背景下,Docker容器部署是很多项目的首选。因此SpringBoot项目打为jar包进行部署就成为了最常用的打包方式。
在IntelliJ IDEA中配置Maven
1、在IntelliJ IDEA中配置Maven。一般在安装IDEA的时候会自带一个Maven,当然也可以自己安装一个Maven,这时就需要通过IDEA中配置指向自己安装的Maven。选择菜单File->Settings,如下图:
2、打开系统设置对话框,如下图:
- 在Maven home directory:项中可以选择是使用IDEA自带的Maven还是自己安装的,我这里就是选择的自带的。
- User settings file:项是用户设置文件的选择,默认是没有这个文件的,需要自己编写或复制一个到这个位置。
Local repository:项是设置本地仓库的位置,就是项目依赖的jar文件下载后存放的位置。
3、settings.xml文件内容参考如下:<?xml version=”1.0” encoding=”UTF-8”?>
C:\Users\zheng.m2\repository
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
jcenter
central
jcenter.bintray.com
http://jcenter.bintray.com/
repo1
central
Human Readable Name for this Mirror.
http://repo1.maven.org/maven2/
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/
单模块Maven项目创建与打包
1、新建基于Maven的SpringBoot项目,在工程根目录下会生成pom.xml,创建过程此处省略。
pom.xml文件中通常包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<groupId>com.xxx</groupId>
<artifactId>gauss</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<properties>
</properties>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<finalName>equipment_management</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
</project>
2、在项目开发完毕后要想打包部署则可以点击IntelliJ IDEA右侧的Maven导航项会展开Maven面板,如下图:
在Maven面板中可以看到项目名称Lifecycle有Maven的基本参数项:
- clean,清除编译。
- validate,验证工程是否正确,所有需要的资源是否可用。
- compile,编译源码。
- test,编译并测试源码。
- package,只打包成jar,并不会发送到本地仓库。
- verify,运行任何检查,验证包是否有效且达到质量标准。
- install,打包并发送到本地仓库。
- site,生成项目文档。
deploy,打包并发送到远程仓库。
如果通过命令方式执行,则需要在项目目录下执行mvn命令,举例如下:mvn clean
mvn compile
mvn package
当然了,在IntelliJ IDEA中,我们可以直接通过Maven面板顶部的工具栏按钮Run Maven Build执行相应的命令,如下图:
从上图可以可以看出,如果我们把maven项目打包成jar,则选中项目声明周期下的package,然后点击Run Maven Build按钮就可以了。这时就会在底部控制台窗口中显示打包日志,如下图:
出现BUILD SUCESS就说明打包成功了。这样在工程的target目录下就可以看到相应的jar文件了。
多模块Maven项目打包要点
多模块Maven项目的打包与单模块Maven项目打包类似,但是有一些要点要注意,如下:
- 在多模块的Maven项目中请直接对工程pom.xml进行整理打包,也就是对顶层模块执行打包操作。
- 在多模块的Maven项目中不要出现各模块互相依赖的情况。
- 在多模块的Maven项目中如果对某个模块进行单独打包,那么要先对这个模块所依赖的模块进行打包,并上传maven仓库才行。
- 为了避免把测试代码打包到jar或war中,在执行Run Maven Build之前请先执行Toggle ‘Skip Tests’ mode操作,如下图:
还没有评论,来说两句吧...