我的资源文件包含一些需要使用java插件任务“processResources”替换为文件路径的标记。 gradle是否提供了一种方式,令牌值是表达式?
1)src / resources / config.properties文件有一个令牌: SRC_ROOT_DIR = @SRC_ROOT_DIR @
2)build.gradle文件包含以下内容:
processResources{
filter ReplaceTokens, tokens:[SRC_ROOT_DIR: project.projectDir]
}
这引发了一个异常说:无法将文件'..src \ resources \ config.properties'复制到'..build \ resources \ main \ config.properties'
答案 0 :(得分:7)
使用--stacktrace运行你的代码段给了我:
...
Caused by: org.gradle.api.GradleException: Could not copy file
'C:\bss\zz\src\main\resources\config.properties'
to 'C:\bss\zz\build\resources\main\config.properties'.
...
Caused by: java.lang.ClassCastException:
java.io.File cannot be cast to java.lang.String
...
将 project.projectDir 更改为 project.projectDir.name (或路径)解决了它:
filter ReplaceTokens, tokens:[SRC_ROOT_DIR: project.projectDir.path]