Java 从IntelliJ运行时添加排除的渐变依赖项

Java 从IntelliJ运行时添加排除的渐变依赖项,java,gradle,intellij-idea,Java,Gradle,Intellij Idea,My Gradle(6.x)项目构建了一个具有众所周知的目录结构的zip文件: +-- bin | scripts | +-- etc | configuration files from resources | +-- lib jars 我不希望应用程序jar中包含来自资源的文件,因此我执行以下操作: sourceSets { main { resources { exclude '**' }

My Gradle(6.x)项目构建了一个具有众所周知的目录结构的zip文件:

+-- bin
|      scripts
|
+-- etc
|      configuration files from resources
|
+-- lib
       jars
我不希望应用程序jar中包含来自资源的文件,因此我执行以下操作:

sourceSets {
    main {
        resources {
            exclude '**'
        }
    }
}
这给了我期望的结果,但它有一个非常恼人的副作用:当我从IntelliJ运行应用程序时,它无法在资源下找到文件。我要么在构建的类路径中复制它们,要么在测试时注释掉上面的行(有时人们在签入代码时忘记取消注释…)

在IntelliJ works的项目结构中手动添加资源,但每次导入Gradle项目时,都会被覆盖


是否有解决此问题的方便方法?

根据的文档,此处可能会用到一个
processResources
任务

将生产资源复制到生产资源目录中

我认为可以将排除转移到任务配置本身:

tasks {
    processResources {
        exclude '**'
    }
}

processResources
是一种任务类型。未经测试,但可能有效。

根据的文档,这里可能有一个
processResources
任务

将生产资源复制到生产资源目录中

我认为可以将排除转移到任务配置本身:

tasks {
    processResources {
        exclude '**'
    }
}

processResources
是一种任务类型。未经测试,但这可能会起作用。

它的工作方式与SourceSet/exclude相同,即它不包括jar文件中的资源,但当我从IDE运行时,它具有相同的副作用-找不到资源…它的工作方式与SourceSet/exclude相同,即它不包括jar文件中的资源,但是,当我从IDE运行时,它也有同样的副作用-找不到资源。。。