如何访问 thymeleaf 模板中的 gradle 变量?
How to access gradle variable in thymeleaf template?
我有一个带有 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
.
如果可能的话,我怎样才能得到它?
你将无法做到这一点。好吧......不是你想要的方式。
然后就是你的代码不应该依赖于构建工具。
您应该做的是,使用构建工具将变量注入您的代码。
我确定您的 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 的简单 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
.
如果可能的话,我怎样才能得到它?
你将无法做到这一点。好吧......不是你想要的方式。 然后就是你的代码不应该依赖于构建工具。
您应该做的是,使用构建工具将变量注入您的代码。
我确定您的 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])
}