如何解决Maven-如何用Java类方法或静态属性中的动态值替换文件中的自定义标记?
我正在寻找一种添加方法,以用Java类方法或属性中的值替换文件中的自定义标记,例如“ [!! [TOKEN] !!]”。
我一般对Java还是陌生的,所以我对Maven的了解很低,因此我在寻找所需内容方面没有取得太大的成功。有很多方法可以用静态值替换令牌,但不能通过外部代码查找或生成值。
也要澄清一下,我不想只修改已编译的输出来修改源文件。源应该保持不变,以避免需要检入新版本。
示例:
要解析的文件(splash.html):
<div>Version: [!![ CURRENT_VERSION_EXTERNAL_NAME ]!!]</div>
我们的代码库已经有一个Java类AppVersion.class
,所以我希望将令牌替换为foo.AppVersion.getExternalVersion()
之类的值。
提前感谢您提供任何帮助。
解决方法
String document = org.apache.commons.io.IOUtils.toString(file.getAbsolutePath(),Charset.defaultCharset());
document = document.replace("[!![ CURRENT_VERSION_EXTERNAL_NAME ]!!]",AppVersion.getExternalVersion());
org.apache.commons.io.FileUtils.writeStringToFile(file,document,Charset.defaultCharset());
这满足您的要求吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。