如何在百里香叶模板中访问渐变变量



我有一个简单的带有 gradle 的 Web 项目,我希望在百里香叶模板中获得 gradle 变量,例如:百里香叶模板的更新部分 <title>Simple project title v.: @myVar@-beta</title>

在build.gradle中,我有这个变量(评论后更新): import org.apache.tools.ant.filters.ReplaceTokens def myVar = "dev" ... minimized ... war { filter( ReplaceTokens, tokens: ['@myVar@': myVar]) } 其中 dev - 是来自我的构建服务器的自定义值,它正在传递 gradle war -P myVar=122 .

如果可能的话,我怎么能得到它?

您将无法执行此操作。井。。。不是你想的方式。还有一个问题是,你的代码不应该依赖于构建工具。

相反,您应该做的是,让构建工具将变量注入到代码中。

我确定您的百里香叶模板在构建过程中正在从其位置复制到其他地方,此时添加一个过滤器子句。

change
<title>Some title ${#myVar}</title>
to   
<title>Some title @myVar@</title>

然后

import org.apache.tools.ant.filters.ReplaceTokens // dont forget this import
war {
    filter(ReplaceTokens, tokens: [myVar: myVar])
}