我们在日常开发工作中通常会根据不同的项目运行环境,添加不同的配置文件,例如 开发环境,测试环境,生产环境等,每次手工的修改配置文件太过于繁琐。通过maven打包时确定需要使用的配置文件可以很好的解决这个问题。
需要做的第一件事是两个用于保存配置的属性文件 文件名应与模式application-{custom_suffix}.properties
相匹配,在Maven项目的src/main/resources
目录中创建它们,在主application.properties
文件旁边,稍后将使用它来激活其他配置文件并保留两个配置文件共享的值。
然后是时候修改pom.xml
了。您需要在每个Maven概要文件中定义一个自定义属性,并将其值设置为与要随特定概要文件一起加载的相应属性文件的后缀相匹配。以下示例还标记了第一个默认运行的配置文件,但这不是强制性的。
<profile>
<id>dev</id>
<properties>
<activatedProperties>dev</activatedProperties>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>release</id>
<properties>
<activatedProperties>release</activatedProperties>
</properties>
</profile>
接下来,在同一文件的build
部分中,为资源插件配置过滤。这样,您就可以将在上一步中定义的属性插入到资源目录中的任何文件中,这是后续步骤。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
…
</build>
最后,将以下行添加到application.properties。
spring.profiles.active=@activatedProperties@
运行构建时,资源插件会将占位符替换为活动Maven概要文件中定义的属性的值。启动您的应用程序后,Spring框架将基于活动Spring概要文件的名称加载适当的配置文件,该名称由spring.profiles.active
属性的值描述。请注意,Spring Boot 1.3将默认的资源插件语法替换为过滤后的值,并使用@activatedProperties@
而不是${activatedProperties}
表示法。
参考
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/73801.html