您好,登录后才能下订单哦!
SpringBoot 中怎么根据不同profile选择不同配置,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。



	<build>
		<finalName>${project.artifactId}</finalName>
		<resources>
			<resource>
				<directory>src/main/resources/</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<encoding>utf-8</encoding>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<profilesActive>dev</profilesActive>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<profilesActive>test</profilesActive>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<profilesActive>prod</profilesActive>
			</properties>
			<build>
				<filters>
					<filter>/Users/xxx/Desktop/prod.properties</filter>
				</filters>
			</build>
		</profile>
	</profiles>如果使用的是 application-prod.yml 文件
里面的占位符会被prod.properties替换掉
占位符用 两个@@ 例如:@jdbc.name@
项目多数情况下,需要部署到不同环境中.使用maven打包,不做其它配置时,默认输出的jar包中,包含所有的配置文件,这样显然不太合理,当不同的生产环境中,不希望存在其它的生产环境的配置文件,可采用如下配置
<!--不同开发环境配置--> <profiles> <profile> <id>dev</id> <properties> <!--pa为自定义的属性,可在application.yml文件中引用--> <pa>dev</pa> </properties> <activation> <!--不加参数默认的profile--> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <pa>test</pa> </properties> </profile> <profiles> <!--节点层级为project>profiles-->
 <resources>
       <!--先忽略所有配置文件,后进行需要的配置文件的追加-->
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>**/application-*.yml</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
             <!--此处的pa代表的是profile中自定义的属性-->
                <include>**/application-${pa}.yml</include>
            </includes>
        </resource>
 </resources>spring: profiles: # profile中定义的pa属性 active: @pa@
mvn clean package -Dmaven.test.skip=true -Pdev
-Dmaven.test.skip=true 表示跳过测试,可提高打包速度
-P后面的参数为profile的名称

1.IDEA侧边栏Maven->Profiles勾选需要的环境
2.项目目录下,终端中执行命令mvn -DskipTests=true clean install
3.首次切换需要进行如下操作,后续调试运行无需更改
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。