我有一个由Gradle管理的多项目设置,它依赖于新的Java 8 -parameters
编译器标志。我需要两种方法来包含编译器标志:
- 仅测试类(编译主项目时不应附加参数名)。
- 所有编译的源代码。
我试过这个:
tasks.withType(JavaCompile) {
options.compilerArgs << '-parameters'
options.fork = true
options.forkOptions.executable = 'javac'
}
......但它似乎无法正常工作。
5条答案
按热度按时间8fq7wneg1#
您应该使用配置Java编译插件的标准方法:
dz6r00yl2#
对于Android项目,您可以在gradle android范围中添加以下内容。
rsl1atfo3#
来自@Crazyjavahacking的答案是正确的
另外,检查一下你没有像我一样,在一个使用其他参数的子项目中重新定义它(在我的例子中是mapstruct):
options.compilerArgs = ['-Amapstruct.defaultComponentModel=spring'] // do not do this
始终附加参数
options.compilerArgs << '-Amapstruct.defaultComponentModel=spring'
希望它可以保存一些时间给别人,我个人失去了2个小时,因为我完全忘记了这一行在子项目,并专注于主构建。gradle
wydwbb8l4#
我必须在Kotlin项目中添加对参数的支持,方法是设置javaParameters kotlin选项
hxzsmxv25#