对于企业级项目,无论是进行本地测试,还是测试环境测试以及最终的项目上线,都会涉及项目的打包操作。对于每个环境下的项目打包,对应的项目所需要的配置资源都会有所区别,实现打包的方式有很多种,可以通过ant,或者通过idea 自带的打包功能实现项目打包,但当项目很大并且需要的外界配置很多时,此时打包的配置就会异常复杂,对于maven 项目,我们可以用过 pom.xml 配置的方式来实现打包时的环境选择,相比较其他形式打包工具,通过maven 只需要通过简单的配置,就可以轻松完成不同环境下项目的整体打包。
比如下面这样一个项目,项目中配置了不同环境下项目所需要的配置文件,这时候需要完成不同环境下的打包操作,此时通过修改pom.xml 如下:
使用idea创建项目,目录结构可能会缺失,需要通过手动添加对应的目录。
添加 Java 源文件夹 选择项目的 main 文件夹,右键选择New,选择Directory
输入文件夹名 "Java",如图:
选择 java 目录,右键选择 Mark Directory as,选择 Sources Root。将文件夹标记为源文件夹。
添加资源文件夹
步骤如上,创建文件夹,命名为 resources,并标记为 Resources Root
添加对应的文件夹目录,及添加不同环境下对应的配置文件。(本地环境、测试环境、正式环境)
<!-- 打包环境配置 开发环境 测试环境 正式环境 -->
<profiles>
<profile>
<id>dev</id>
<properties>
<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>
<!-- 对于项目资源文件的配置放在build中 -->
<resources>
<resource>
<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>
打开Run/Debug Configuarations窗口,输入对应的打包命令
此时对应打包命令
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
打包生产环境并且跳过maven 测试操作
打包成功
不同的项目打包的文件不一样,一般来说,普通java项目打成jar包,web项目打成war包
原文:https://www.cnblogs.com/weicunqi/p/14609231.html