帮我找到替换 ui.xml 中版本变量的最佳方法
<gwt:HTML>
<span>Current version: ${version}</span>
</gwt:HTML>
我可以使用 Maven 资源插件吗?像这样:
<resource>
<directory>src/main/java</directory>
<filtering>true</filtering>
<includes>
<include>**/*.ui.xml</include>
</includes>
</resource>
我认为 UIBinder 是 GWT 客户端代码的一部分,由 gwt 插件编译。这个插件没有找到我的 ${version} 变量,也没有替换它。
最佳答案
你是对的,UIBinder 模板是 GWT 客户端代码的一部分,并被编译成 JavaScript。
我能想到的公开您的应用运行的版本的唯一方法是:
- 将其硬编码在您的客户端代码中的某处,例如,在您的
EntryPoint
类中,作为静态最终常量。 - 通过您的托管页面从您的服务器端代码公开它,并通过执行类似于 this article suggests 的操作在您的客户端代码中读取它.
- 写一个简单的GWT generator创建一个 UI 小部件,其代码已生成以显示当前版本。这篇文章是对生成器的一般介绍。
可能还有其他的,但这些是我想到的第一个,按照从最少到最多的努力排序。
关于gwt - 替换 GWT UIBinder XML 文件中的版本号变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4431058/