Maven 的打包操作
- 对于企业级项目,无论是进行本地测试,还是测试环境测试以及最终的项目上线,都会涉及项目的打包操作。
- 对于每个环境下的项目打包,对应的项目所需要的配置资源都会有所区别,实现打包的方式有很多种,可以通过
ant
,或者通过idea
自带的打包功能实现项目打包,但当项目很大并且需要的外界配置很多时,此时打包的配置就会异常复杂。 - 对于
maven
项目,我们可以用过pom.xml
配置的方式来实现打包时的环境选择,相比较其他形式打包工具,通过maven
只需要通过简单的配置,就可以轻松完成不同环境下项目的整体打包。
比如下面项目,项目中配置了不同环境下项目所需要的配置文件,这时候需要完成不同环境下的打包操作,此时通过修改 pom.xml
如下:
- 创建项目并修改配置文件 点击查看
一、 建立对应的目录结构
使用 idea
创建项目,目录结构可能会缺失,需要通过手动添加对应的目录。
- 添加
Java
源文件夹
- 选择项目的
main
文件夹,右键新建
,选择目录
- 按提示,选择
java
即可
- 添加资源文件夹
- 步骤如上,按提示选择
resources
(或创建文件夹,命名为resources
,并标记为资源目录)
- 添加对应的文件夹目录,及添加不同环境下对应的配置文件。(本地环境、测试环境、正式环境)
- 配置打包环境(
pom.xml
):添加Profile
配置
<!-- 打包环境配置 开发环境 测试环境 正式环境 -->
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- env 里面的值,最好和环境目录名对应,便于打包时操作 -->
<env>dev</env>
</properties>
<!-- 未指定环境时,默认打包dev环境 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<env>product</env>
</properties>
</profile>
</profiles>
- 设置资源文件配置(
pom.xml
):
<!-- 对于项目资源文件的配置,放在 build 标签中 -->
<resources>
<resource>
<!-- 根据打包命令,自动获取 env 的值,生成用于不同环境的包-->
<directory>src/main/resources/${env}</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.tld</include>
</includes>
<!-- 不进行过滤 -->
<filtering>false</filtering>
</resource>
</resources>
- 执行打包操作:打开
运行/调试配置
窗口,进行命令配置
- 指定打包的环境:如不指定打包环境,默认为
dev
的war
包,因为配置文件中设置的默认值为dev
- 打包成功
- 配置不同的打包环境
- 根据开发环境、测试环境、正式环境分别进行了配置
- 打包默认环境(开发环境),跳过
maven
测试操作
clean compile package -Dmaven.test.skip=true
- 打包测试环境,跳过
maven
测试操作
clean compile package -Ptest -Dmaven.test.skip=true
- 打包正式环境,跳过
maven
测试操作
clean compile package -Pproduct -Dmaven.test.skip=true
- 打包默认环境(开发环境),跳过
网友评论