Intellij如何在使用gradle和lombok,google protobuf和swagger等工具时忽略“出”目录中的重复类

时间:2019-03-22 07:04:55

标签: java gradle intellij-idea intellij-lombok-plugin

我的项目有很多模块,而我们使用gradle的代码生成器很少。配置示例:

sourceSets {
...
    swagger {
        compileClasspath = configurations.swaggerCompile
        java {
            srcDir file("${project.buildDir.path}/build/generated/source/swagger/")
        }
    }
    main {
        java {
            srcDirs 'build/generated/source/proto/main/...'
        }
    }
    test {
        java {
            srcDirs 'build/generated/source/proto/main/...'
        }
    }
}

ext {
    generatedSourcesDir = 'build/generated/source'
}

protobuf {
    ...
    generatedFilesBaseDir = "${buildDir}/generated-src/..."
}

项目无法使用Intellij进行编译,因为它会在指定目录和Intellij生成的/ out /目录中生成类。

例如,在以下情况下生成相同的重复类:

\ out \ production \ classes \ generated \-Intellij \ build \ generation-src .. \-Gradle

它给了我数百条错误消息,例如:错误:(30,14)java:重复的类:com.xxx.xxx.xxx.YourClass我已经尽我所能在Intellij论坛上找到的所有内容。对我没有任何帮助。

我什至尝试在“文件”>“设置”>“构建,执行,部署”>“编译器”>“排除”中排除“出”目录,但是它也不起作用。

唯一的方法是构建项目,手动删除所有“输出”目录,然后禁用注释处理器。但这不是使其工作的最佳方法。

0 个答案:

没有答案