Maven打包时指定输出路径、以时间戳命名包名和路径名,结合IDEA以指令脚本方式动态配置输出目录

说明

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下,执行打包。

相关推荐
橙淮6 小时前
并发编程(六)
java·jvm
拽着尾巴的鱼儿6 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
白露与泡影6 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
EntyIU7 小时前
JVM内存与GC笔记
java·jvm·笔记
XS0301067 小时前
并发编程 六
java·后端
yaoxin5211237 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道7 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试
x***r1518 小时前
linux安装 jdk-8u291-linux-x64.tar.gz 详细步骤(解压配置环境变量)
java
极光代码工作室8 小时前
基于SpringBoot的校园论坛系统
java·springboot·web开发·后端开发
XS0301068 小时前
Spring Bean 作用域 & 生命周期
java·后端·spring