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

zjk*_*zjk 4 javac gradle

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

根据这一职位这个,我增加了以下我build.gradle

compileJava {
  options.compilerArgs << '-J-Duser.language=en'
  options.fork = true
  options.forkOptions.executable = 'javac'
}
Run Code Online (Sandbox Code Playgroud)

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

javac: ?????[invalid flags]:  -J-Duser.language=en
??[usage]: javac <options> <source files>
-help ?????????[for possible options]
Run Code Online (Sandbox Code Playgroud)

cmd,一个简单的javac -J-Duser.language=en做了给我英文信息.

我的问题:

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

Pet*_*ser 7

而不是使用-J,传递标志options.forkOptions.jvmArgs应该工作:

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