使用Intellij 2017.2 / out目录构建复制/ build目录中的文件

时间:2017-07-18 18:58:24

标签: java intellij-idea gradle

更新到Intellij 2017.2后,构建我的项目会创建一个/out目录,其中包含生成的源文件和资源文件。这些文件重复已包含在/build中的文件,并导致生成的类的duplicate class编译器错误。我在Gradle或IntelliJ中需要修复的任何想法吗?

3 个答案:

答案 0 :(得分:59)

IntelliJ IDEA不再与Gradle共享输出,请see this ticket for details

您可以通过以下配置覆盖它:

allprojects {
 apply plugin: 'idea'
 idea {
   module {
     outputDir file('build/classes/main')
     testOutputDir file('build/classes/test')
   }
 }
 if(project.convention.findPlugin(JavaPluginConvention)) {
   // Change the output directory for the main and test source sets back to the old path
   sourceSets.main.output.classesDir = new File(buildDir, "classes/main")
   sourceSets.test.output.classesDir = new File(buildDir, "classes/test")
 }
}

或将构建委托给Gradle:File |设置|构建,执行,部署|构建工具| Gradle | Runner =>委派IDE构建/运行操作以进行gradle。

答案 1 :(得分:12)

文件|项目结构|项目设置|模块|路径选项卡|编译器输出

选择'继承项目编译输出路径'继续使用/build构建工件

答案 2 :(得分:0)

这是我的理解:

  

基本上,这是解决以下情况下不兼容问题的解决方法:   Gradle build pathIDEA output path