我有一个简单的带有 gradle 的 web 项目,我希望在 thymeleaf 模板中获得 gradle 变量,例如:
更新了 Thymeleaf 模板的一部分<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
.
如果可能的话,我怎么能得到它?
最佳答案
你将无法做到这一点。嗯......不是你想要的方式。
还有一点就是你的代码不应该依赖于构建工具。
你是什么应该做相反,让构建工具将变量注入(inject)您的代码。
我确信您的 thymeleaf 模板在构建过程中被从它的位置复制到其他地方,此时添加一个过滤器子句。
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])
}
关于gradle - 如何在 thymeleaf 模板中访问 gradle 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858004/