Java 如何进行梯度资源过滤
我正在使用gradle开发一个java web应用程序。我想在不同的环境中测试此应用程序,例如本地、测试站点或现场。我有一个想法,根据环境替换属性文件上的变量。假设此web应用程序正在测试站点上运行。这是我的密码 格雷德尔先生Java 如何进行梯度资源过滤,java,spring,gradle,Java,Spring,Gradle,我正在使用gradle开发一个java web应用程序。我想在不同的环境中测试此应用程序,例如本地、测试站点或现场。我有一个想法,根据环境替换属性文件上的变量。假设此web应用程序正在测试站点上运行。这是我的密码 格雷德尔先生 import org.apache.tools.ant.filters.* import groovy.swing.* if(!hasProperty("profile")) { ext.profile = "test" } if(!hasProperty("
import org.apache.tools.ant.filters.*
import groovy.swing.*
if(!hasProperty("profile")) {
ext.profile = "test"
}
if(!hasProperty("deployTarget")) {
ext.deployTarget = "local"
}
if(deployTarget == "local")
{
apply from: "gradle-properties/local.properties"
}
else if(deployTarget == "test")
{
apply from: "gradle-properties/test.properties"
}
else if(deployTarget == "live")
{
apply from: "gradle-properties/live.properties"
}
processResources {
from('src/main/resources') {
include '*.properties'
filter(ReplaceTokens, tokens: ['serverEnvironment': serverEnvironment])
}
}
gradle属性/test.properties
ext.serverEnvironment="test"
server.environment=@serverEnvironment@
src/main/resources/web.application.config.properties
ext.serverEnvironment="test"
server.environment=@serverEnvironment@
TestRestController.java
@RestController
public class TestRestController {
@Resource //tested @Inject also
private Environment environment;
@RequestMapping(value = "/test")
public String testController() {
return environment.getProperty("server.environment");
}
}
我从这些代码中得到“本地”结果。我错过了什么重要的事情吗?请提供建议,非常感谢。我想
hasProperty(“deployTarget”)
是错误的。将println serverEnvironment
添加到processResources
之前,以检查serverEnvironment
的值,从而确定加载了哪个gradle属性
文件。此外,processResources{expand(serverEnvironment:serverEnvironment)}
是一种新的、更简单的令牌替换方法。请注意,它会替换像${serverEnvironment}
这样的占位符,而不是@serverEnvironment@
。我猜hasProperty(“deployTarget”)
是错误的。将println serverEnvironment
添加到processResources
之前,以检查serverEnvironment
的值,从而确定加载了哪个gradle属性
文件。此外,processResources{expand(serverEnvironment:serverEnvironment)}
是一种新的、更简单的令牌替换方法。请注意,它会替换像${serverEnvironment}
这样的占位符,而不是@serverEnvironment@
。