Maven的打包操作

359 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 29 天,点击查看活动详情

对于企业级项⽬,⽆论是进⾏本地测试,还是测试环境测试以及最终的项⽬上线,都会涉及项⽬的打包操作,对于每个环境下项⽬打包时,对应的项⽬所有要的配置资源就会有所区别,实现打包的⽅式有很多种,可以通过ant,获取通过idea ⾃带的打包功能实现项⽬打包,但当项⽬很⼤并且需要的外界配置很多时,此时打包的配置就会异常复杂,对于maven 项⽬,我们可以⽤过pom.xml 配置的⽅式来实现打包时的环境选择,相⽐较其他形式打包⼯具,通过maven 只需要通过简单的配置,就可以轻松完成不同环境先项⽬的整体打包。

⽐如下⾯这样⼀个项⽬,项⽬中配置了不同环境下项⽬所需要的配置⽂件,这时候需要完成不同环境下的打包操作,此时通过修改pom.xml 如下:

9.1. 建⽴对应的⽬录结构

使⽤idea创建项⽬,⽬录结构可能会缺失,需要通过⼿动添加对应的⽬录。 在这里插入图片描述

1)添加 Java 源⽂件夹

选择项⽬的 main ⽂件夹,右键选择New,选择Directory 在这里插入图片描述

2)添加资源⽂件夹

选择项⽬的 main ⽂件夹,右键选择New,选择Directory

在这里插入图片描述

在这里插入图片描述

3)添加对应的⽂件夹⽬录,及添加不同环境下对应的配置⽂件。(本地环境、测试环境、正式环境)

在这里插入图片描述

9.2. 添加Profile配置

放在pom.xml中

<!-- 打包环境配置 开发环境 测试环境 正式环境 -->
<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>

在这里插入图片描述

9.3. 设置资源⽂件配置

<!-- 对于项⽬资源⽂件的配置放在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>

在这里插入图片描述

9.4. 执⾏打包操作

打开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包:

在这里插入图片描述