升级到Gradle 2.0后:无法在根项目中找到属性"编译"

Mat*_*aun 49 java gradle

为了避免在构建我的Java源代码时出现有关特殊字符的警告,我gradle.build在升级到Gradle 2.0之前将这行放在我的工作正常中:

tasks.withType(Compile) { options.encoding = "UTF-8" }
Run Code Online (Sandbox Code Playgroud)

升级后,此操作失败,并显示以下错误:

Could not find property 'Compile' on root project
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Mat*_*aun 100

将行更改为

tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.

  • `Compile`长期以来一直被弃用而不支持`JavaCompile`,最终在2.0中删除了. (8认同)
  • `Compile`已重命名为`JavaCompile`.要设置Groovy源的编码,请使用`tasks.withType(GroovyCompile){groovyOptions.encoding ="UTF-8"}`.对于Scala源代码,请使用`tasks.withType(ScalaCompile){scalaCompileOptions.encoding ="UTF-8"}`.从来没有一种更简单的方法. (6认同)