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

相关推荐
薪火铺子9 小时前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring
ch.ju9 小时前
Java程序设计(第3版)第二章——参数(实参 形参)
java
椰猫子9 小时前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
海兰9 小时前
【开篇】Spring AI、OpenClaw 和Hermes
java·人工智能·spring·spring ai
bzmK1DTbd10 小时前
微服务架构设计:Spring Cloud Gateway与Nacos集成
java·spring·微服务
上弦月-编程10 小时前
指针编程:高效内存管理核心
java·数据结构·算法
罗超驿10 小时前
双指针算法经典案例:LeetCode 283. 移动零(Java详解)
java·算法·leetcode
xieliyu.10 小时前
Java手搓数据结构:栈与队列模拟实现
java·数据结构·学习
清水白石00810 小时前
深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战
java·jvm·python
_Evan_Yao10 小时前
从 IP 路由到 Agent 路由:最长前缀匹配如何帮你分发任务?
java·网络·后端·网络协议·tcp/ip