当前位置: 首页 > 知识库问答 >
问题:

如何从Intellij上Gradle的检查样式中排除文件夹

薛承基
2023-03-14

我是IntelliJ和Gradle的新手,但我在Java和Eclipse方面有足够的经验。我从wsdl文件生成了一些java类。我将它们放在带有文件夹名称的src / main /resources下 - “生成的源”。

我试图阻止此文件夹及其子文件夹的checkstyle,例如src/main/resources/generatedsources/*,并在IntelliJ上使用gradle。

我尝试了一些线路;

task checkstyle(type: Checkstyle) {
        source 'src'
    //    include '**/*.java'
    //    exclude '**/gen/**'
    //    exclude '**/R.java'
    //    exclude '**/BuildConfig.java'
        exclude 'src/main/resources/generatedsources/**'
    }

但我又失败了。

build.gradle;

apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'checkstyle'
apply plugin: 'java'
apply plugin: 'no.nils.wsdl2java'

sourceCompatibility = 1.7
version = '1.0'    

...

buildscript{
    repositories{
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'no.nils:wsdl2java:0.10'
    }
}

task checkstyle(type: Checkstyle) {
    source 'src'
//    include '**/*.java'
//    exclude '**/gen/**'
//    exclude '**/R.java'
//    exclude '**/BuildConfig.java'
    exclude 'src/main/resources/generatedsources/**'
}

编辑-在推荐之后(但仍然失败!):

apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'checkstyle'
apply plugin: 'java'
apply plugin: 'no.nils.wsdl2java'

sourceCompatibility = 1.7
version = '1.0'

description = """BLABLABLA_application"""

war.archiveName = "BLABLABLA.war"

configurations{
    deployerJars
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.9.3'
    compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.3'
    compile group: 'org.springframework', name: 'spring-core', version:'4.0.0.RELEASE'
    compile group: 'org.springframework', name: 'spring-web', version:'4.0.0.RELEASE'
    compile 'log4j:log4j:1.2.17'
    compile 'com.sun.xml.ws:jaxws-rt:2.2.8'
    compile 'org.jvnet.jax-ws-commons.spring:jaxws-spring:1.9'
    compile group: 'org.springframework', name: 'spring-webmvc', version:'4.0.0.RELEASE'
    providedCompile group: 'javax.servlet', name: 'servlet-api', version:'2.5'
    testCompile group: 'junit', name: 'junit', version: '4.11'
    deployerJars "org.apache.maven.wagon:wagon-http:2.2"
}

jar {
    manifest {
        attributes 'Implementation-Title': 'BLABLABLA', 'Implementation-Version': version
    }
}

uploadArchives {
    repositories {
        flatDir {
            dirs 'repos'
        }
    }
}


buildscript{
    repositories{
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'no.nils:wsdl2java:0.10'
    }
}

wsdl2java{
    wsdlsToGenerate = [
            ["$projectDir/src/main/resources/BLABLABLA.wsdl"]
    ]
    generatedWsdlDir = file("$projectDir/src/gen/java")
    wsdlDir = file("$projectDir/src/main/resources")
}

wsdl2javaExt {
    cxfVersion = "2.5.1"
}

tasks.withType(Checkstyle) {
    exclude '**/your/generated/package/goes/here**'
}

checkstyleMain.exclude '**/your/generated/package/goes/here**'

tasks.withType和“checkstyleMain”中的“exclude”会导致“无法解析符号”之类的错误!

共有3个答案

唐裕
2023-03-14

只能排除源集中的文件夹。这是一个从未被提及的问题,自从我使用Intellij以来,它让我一直在挣扎。生成的文件位于build/文件夹中,该文件夹与src/处于同一级别。我尝试排除生成文件夹一段时间,但没有效果。唯一的解决方案是指定源文件夹。由于生成文件夹不在src(源文件夹)下,因此它可以立即工作。

checkstyleMain.source = "src/main/java"

我在这里找到了解决方案:为Checkstyle任务指定排除

周翼
2023-03-14

我遵循了一些注释并使其生效。将此添加到文件build.gradle

checkstyle {
    config = rootProject.resources.text.fromFile("${project.projectDir}/checkstyle-8.34_google_checks.xml")
    toolVersion = '8.34'
    ignoreFailures = false
    maxWarnings = 0
}

checkstyleMain
    .exclude('com/examples/gen/api/*.java')
    .exclude('com/examples/gen/model/*.java')
    .exclude('com/examples/gen/auth/*.java')
袁羽
2023-03-14

当应用checkstyle插件时,自定义任务将与它一起交付(请参阅此处),因此不要添加带有Checkstyle类型的自定义任务,请配置附带的任务。这是应该如何完成的:

tasks.withType(Checkstyle) {
    exclude '**/your/generated/package/goes/here**'
}

您还可以配置特定任务,而不是全部:

checkstyleMain.exclude '**/your/generated/package/goes/here**'

此外,将生成的源代码放在src/main/resources下也不是一个好做法。通常,此类文件会转到例如src/gen/java

 类似资料:
  • [错误]无法执行目标org.apache.maven.plugins:maven-checkstyle-plugin:2.17:项目上的check(default-cli)blynk:在checkstyle配置过程中失败:无法初始化模块BeforeExecutionExclusionFileFilter-无法实例化“BeforeExecutionExclusionFileFilter”类,也无法将

  • 我有以下支票样式。我的项目的confg/checkstyle目录中的xml文件。我正在使用gradle(v3.4),下面复制了它的相关部分,以及运行gradle build时收到的错误消息(rootDir尚未设置)。如何将rootDir传递给checkstyle插件? 错误 建筑格拉德尔 检查样式。xml

  • 我们在IntelliJ(Ultimate 14.1.14)中有一个java web项目,我们希望从爆炸战争中排除某个文件夹。

  • 我正在使用Android Studio和Google Drive,这会使隐藏的系统文件可见(例如图标和桌面ini),导致错误,如本文所述。我希望指示gradle 2.14忽略它们,而不是运行脚本来删除这些文件。 为了找出如何排除文件,我在目录和中创建了名为“excludeme.txt”的文件。我尝试对项目中的两个文件进行各种修改,但没有成功排除该文件。 具体来说,我对的文件进行了以下修改: 我还将

  • 我正在尝试使用Android Studio 1.3.1使用实验性的gradle语法编译NDK项目。 我的< code>build.gradle看起来非常像茶壶示例中的那个 除了我的源代码树有一些我不想包含在构建中的文件。我无法删除这些文件,所以我需要gradle忽略它们。 我尝试添加一个< code>exclude定义: 但这并不影响结果。Gradle 仍在尝试编译此文件。 我尝试,=,排除,什么

  • gradle:如何排除重复的资源文件?例如。, META-INF/foo。在.././.下的xml/src/main/resources与src/main/resources/META-INF/foo同名。xml。 还尝试了: foo.xml文件都被排除在外。