说明
Maven打包时指定输出路径、以时间戳命名包名和路径名,结合IDEA以指令脚本方式动态配置输出目录
maven配置:
定义打包输出目录<build.out.dir>
xml
<properties>
<build.out.dir>${project.build.directory}</build.out.dir>
</properties>
添加输出目录配置<outputDirectory>
xml
<build>
<finalName>xxx-${build.time}</finalName>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.0</version>
<configuration>
<!-- jar包输出目录 -->
<outputDirectory>${build.out.dir}</outputDirectory>
<fork>false</fork>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- war包输出目录 -->
<outputDirectory>${build.out.dir}</outputDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
<executions>
<execution>
<id>war</id>
<goals>
<goal>war</goal>
</goals>
</execution>
</executions>
</plugin>
<!--打包时间-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<configuration>
<name>build.time</name>
<pattern>yyyyMMddHHmm</pattern>
<locale>zh_CN</locale>
<timeZone>Asia/Shanghai</timeZone>
</configuration>
</execution>
</executions>
</plugin>
</build>
IDEA配置:
选择maven构建的Lifecycle下的package右键Modify Run Configuration,在Run中补充指令参数,如下所示:
shell
-Dbuild.out.dir=D:\outputdir\${build.time} package -f pom.xml
保存后生成一个执行脚本在 Run Configuration下,执行打包。