在一个tomcat容器

时间:2015-08-07 15:13:50

标签: spring-boot

我在使用spring boot框架时遇到了一个问题,我使用一个spring boot代码库并打包两场战争。

当我将两个战争部署到一个tomcat容器中时,我发现两个战争具有相同的application.properties,但我需要为application.properties中的某些键设置不同的值。

如何设置此密钥?

2 个答案:

答案 0 :(得分:0)

我认为您可以在 application.properties 中使用#{servletContext.contextPath}。例如,您可以执行类似

的操作
spring.proiles.active=#{servletContext.contextPath}

然后,different property files喜欢

application-context1.properties
application-context2.properties

应该有用。

答案 1 :(得分:0)

如果你没有更改文件结构,Sanjay的答案是好的。如果您还需要区分文件,可以执行类似于以下方法的操作。

如果您使用的是gradle

if (project.hasProperty('war1')) {
     apply from: 'war1.gradle'
} else if (project.hasProperty('war2')) {
     apply from: 'war2.gradle'
}

您可以在特定构建文件中指定任何构建属性,并覆盖该文件中的任何任务。找到here的好例子。

您可以将其作为

运行
./gradlew bootRun -Pwar1

你可以使用maven做同样的事情。