Gradle 任务替换 .java 文件中的字符串不起作用
Gradle task replace string in .java file not working
我在 VersionConstants.java
文件下面..
public class VersionConstants {
/**
* This class does not need to be instantiated.
*/
private VersionConstants() { }
public static final String VERSION = "@VERSION@";
public static final String PATCH_LEVEL = "@PATCH_LEVEL@";
public static final String REVISION = "@REVISION@";
public static final String BUILDTIME = "@BUILDTIME@";
public static final String BUILDHOST = "@BUILDHOST@";
}
我按照这里的答案 尝试了
task generateSources(type: Copy) {
from 'src/replaceme/VersionConstants.java'
into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
"@VERSION@" : '1.0.0',
"@PATCH_LEVEL@" : '0.5',
...
])
}
但是,它正在处理 VersionConstants.java
文件,而不是用所需的值替换关键字,即 1.0.0
或 0.5
等
为什么?
知道了,我刚刚将 @VERSION@
替换为 VERSION
,效果非常好!
task generateSources(type: Copy) {
from 'src/replaceme/VersionConstants.java'
into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
"VERSION" : '1.0.0',
"PATCH_LEVEL" : '0.5',
...
])
}
默认情况下,ReplaceTokens 具有 beginToken='@' 和 endToken='@'。所以改为
filter(ReplaceTokens, tokens: [
"VERSION" : '1.0.0',
"PATCH_LEVEL" : '0.5',
...
])
我在 VersionConstants.java
文件下面..
public class VersionConstants {
/**
* This class does not need to be instantiated.
*/
private VersionConstants() { }
public static final String VERSION = "@VERSION@";
public static final String PATCH_LEVEL = "@PATCH_LEVEL@";
public static final String REVISION = "@REVISION@";
public static final String BUILDTIME = "@BUILDTIME@";
public static final String BUILDHOST = "@BUILDHOST@";
}
我按照这里的答案
task generateSources(type: Copy) {
from 'src/replaceme/VersionConstants.java'
into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
"@VERSION@" : '1.0.0',
"@PATCH_LEVEL@" : '0.5',
...
])
}
但是,它正在处理 VersionConstants.java
文件,而不是用所需的值替换关键字,即 1.0.0
或 0.5
等
为什么?
知道了,我刚刚将 @VERSION@
替换为 VERSION
,效果非常好!
task generateSources(type: Copy) {
from 'src/replaceme/VersionConstants.java'
into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
"VERSION" : '1.0.0',
"PATCH_LEVEL" : '0.5',
...
])
}
默认情况下,ReplaceTokens 具有 beginToken='@' 和 endToken='@'。所以改为
filter(ReplaceTokens, tokens: [
"VERSION" : '1.0.0',
"PATCH_LEVEL" : '0.5',
...
])