将“-J-Duser.language”传递给gradle无法正常工作

时间:2014-09-13 11:45:59

标签: gradle javac

我想在编译时收到英文消息。

完成此postthis之后,我将以下内容添加到build.gradle

compileJava {
  options.compilerArgs << '-J-Duser.language=en'
  options.fork = true
  options.forkOptions.executable = 'javac'
}

但我得到([]是我的翻译,而不是官方的)

javac: 无效的标记[invalid flags]:  -J-Duser.language=en
用法[usage]: javac <options> <source files>
-help 用于列出可能的选项[for possible options]

cmd中,一个简单的javac -J-Duser.language=en会给我发英文信息。

我的问题:

  1. 我做错了什么?
  2. 如何让gradle显示编译时使用的确切javac命令?

1 个答案:

答案 0 :(得分:7)

而不是使用-J,将标记传递给options.forkOptions.jvmArgs应该有效:

tasks.withType(JavaCompile) {
    options.fork = true
    options.forkOptions.jvmArgs += ["-Duser.language=en"]
}