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

相关推荐
KaMeidebaby8 分钟前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
醉城夜风~1 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
数智化转型推荐官3 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
看菜鸡互3 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
一孤程3 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
程序员张34 小时前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端
闲猫4 小时前
Spring AI Agentic 模式(第1部分):Agent Skills——模块化、可复用的能力
java·人工智能·spring
源图客5 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python
liguojun20255 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
952365 小时前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq