gradle - 如何在 thymeleaf 模板中访问 gradle 变量?

标签 gradle thymeleaf continuous-deployment

我有一个简单的带有 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/

相关文章:

java - 如何使用 :switch and th:each 处理 thymeleaf 中的两个列表

java - 从 mysql 数据库中提取特定数据到 thymeleaf

linux - 如何进行持续部署 - C++ on AWS

gradle - TreeWalker 检查无法与 Kotlin/Gradle 配合使用?

android - 项目的构建脚本中的gradle版本号

android - Gradle 任务 assemble+ FlavorName + Release not found

continuous-integration - VSTS 发布管道找不到已发布的工件

android - 无法解析 : okhttp loggin-interceptor

html - Controller 重定向导致错误403 'Type=Forbidden'

powershell - 将 secret 变量从 TFS 构建传递到 Powershell 脚本