【发布时间】:2019-11-01 23:34:51
【问题描述】:
我想用构建之前的版本替换 java 源文件中的 @VERSION@ 标记(Gradle 是我选择的构建系统)。
在我当前的脚本ant.replace(file: 'src/main/java/randers/notenoughvocab/main/Reference.java', token: '@VERSION@', value: version) 中,它替换了实际源文件中出现的@VERSION@,因此在构建后,所有出现的模式都被版本替换,如果我更改版本,gradle 构建文件它将不再在那里找到任何模式,并且版本不会更新。
我还看到了一个任务here,但我不知道我的具体项目需要应用什么值。
我的项目的项目布局,如果需要的话:
【问题讨论】:
-
我的建议是将版本标记放在属性文件模板中,将属性文件复制到目标目录中替换该过程中的标记,然后在 Java 类中读取属性文件。版本必须嵌入到 .class 文件中是否有特定原因?