我有一个单独的资源文件夹,我想添加到IDEA类路径。我不使用main / resources的原因是我需要将文件夹放在JAR之外以允许XML配置文件版本。
这在IDEA中起作用
apply plugin: 'idea'
idea {
module {
resourceDirs += file('src/dist/etc')
}
}
当我按下"重新导入Gradle"该文件夹被映射为资源文件夹。 所以IDEA了解resourceDirs属性。
但是Gradle 2.2失败了:
Could not find property 'resourceDirs' on org.gradle.plugins.ide.idea.model.IdeaModule_Decorated@329c1075.
如何在Gradle中设置IDEA中的资源目录?
答案 0 :(得分:1)
idea.module.resourceDirs += file('src/dist/etc')
自Gradle 4.7起应该可以使用,其中已经添加了对指定想法resourceDirs的支持。
答案 1 :(得分:0)
自己找到答案:
apply plugin: 'idea'
idea {
module {
ext.set('resourceDirs', [])
resourceDirs += file('src/dist/etc')
}
}
然而,由于https://youtrack.jetbrains.com/issue/IDEA-133399,尽管IDEA现在将'src / dist / etc'标记为资源目录,但它仍然无效。
答案 2 :(得分:0)
一个复杂的例子:
subprojects {
apply plugin: 'idea'
if ( ! project.name.equals("core")) {
idea.module.resourceDirs += new File(
project(":core").projectDir, "src/main/resources")
}
}
与Idea 2018.3和Gradle 4.10一起使用。
即使是目前的Idea也有其局限性:它不支持依赖子项目中资源的类路径扩展...仅声明以下内容是
dependencies {
project(":core")
}