Maven打包规范设置

一、技术背景

      在不同的环境,要打不同版本的API包,开发测试环境打SNAPSHOT,线上要打RELEASE包,但是每次都要上线之前都要改代码,很麻烦,所以用更通用的配置来解决这个问题。

 

二、实现

pom文件配置

    <groupId>com.yx</groupId>
	<artifactId>yx-test-api</artifactId>
	<version>${version.final}</version>
	<name>test-api</name>

	<properties>
        <java.version>1.8</java.version>
		<version.current>1.0.0</version.current>
		<project.version>1.0.0</project.version>
	</properties>
    
    <distributionManagement>
		<repository>
			<id>nexus</id>
			<name>releases</name>
			<url>http:</url>
		</repository>
		<snapshotRepository>
			<id>nexus</id>
			<name>snapshots</name>
			<url>http:</url>
			<uniqueVersion>false</uniqueVersion>
		</snapshotRepository>
	</distributionManagement>
	<repositories>
		<repository>
			<id>Nexus</id>
			<name>Nexus Public Repository</name>
			<url>http:</url>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>3.0.0</version>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

        <profiles>
		<profile>
			<id>dev</id>
			<properties>
				<active>dev</active>
				<version.final>${version.current}-SNAPSHOT</version.final>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<active>test</active>
				<version.final>${version.current}-RELEASE</version.final>
			</properties>
			<activation>
				<!-- 默认环境 -->
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<active>prod</active>
				<version.final>${project.version}-RELEASE</version.final>
			</properties>
		</profile>
	</profiles>

其中<active> 标签,是根据application.properties的配置

#环境
spring.profiles.active=@active@

标签内dev,test,prod取值

根据不同环境的配置名称,如下图

 

参考大佬:

Spring boot 使用profile完成不同环境的maven打包功能

使用maven profile 指定配置打包

springboot多环境(dev、test、prod)配置

idea配置springBoot多环境

maven deploy时报错

Maven 打包指定名称

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值