Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Gradle 4指定类输出目录?_Gradle - Fatal编程技术网

如何为Gradle 4指定类输出目录?

如何为Gradle 4指定类输出目录?,gradle,Gradle,Gradle项目不推荐使用“classesDir”,因此以前的工作方法: sourceSets { main { output.classesDir = "myDir" } } 应该换成别的东西。文档中提到了“output.classesDirs”,但这是只读属性 在Gradle 4.x脚本中指定自定义编译输出目录的方法是什么 apply plugin: 'java' sourceSets { main { // Compiled Java

Gradle项目不推荐使用“classesDir”,因此以前的工作方法:

sourceSets {
    main {
        output.classesDir = "myDir"
    }
}
应该换成别的东西。文档中提到了“output.classesDirs”,但这是只读属性


在Gradle 4.x脚本中指定自定义编译输出目录的方法是什么

 apply plugin: 'java'

 sourceSets {
   main {
     // Compiled Java classes should use this directory
     java.outputDir = file('myDir')
   }
 }

请参阅更多信息:

根据Gradle 6.5.1文档,java.outputDir属性已被classesDirectory替换:

但是,我认为应该使用destinationDirectory属性来读取或修改编译器输出dir。因此,文档应该说它被destinationDirectory属性而不是classesDirectory属性替换

可以使用以下任一方法更改编译器输出目录:

sourceSets {
  main {
    java {
      destinationDirectory.set(file("${project.buildDir}/classes/${sourceSets.main.name}/java"))
    }
  }
}

在我看来,第二种选择更好

要读取特定源集的输出目录,请使用:

project.sourceSets.main.java.destinationDirectory.get()
project.sourceSets.main.java.destinationDirectory.get()