如何在Gradle IDEA模块中设置resourceDirs?

rel*_*mes 5 java intellij-idea gradle

我有一个单独的资源文件夹,我想添加到IDEA类路径中。我不使用main / resources的原因是我需要将文件夹放在JAR之外才能允许XML配置文件版本。

这是在IDEA中有效的方法

apply plugin: 'idea'
idea {
    module {
        resourceDirs += file('src/dist/etc')
   }
}
Run Code Online (Sandbox Code Playgroud)

当我按“从Gradle重新导入”时,该文件夹被映射为资源文件夹。因此,IDEA了解resourceDirs属性。

但是Gradle 2.2失败了:

Could not find property 'resourceDirs' on org.gradle.plugins.ide.idea.model.IdeaModule_Decorated@329c1075.
Run Code Online (Sandbox Code Playgroud)

如何在Gradle的IDEA中设置资源目录?

rel*_*mes 0

我自己找到了答案:

apply plugin: 'idea'
idea {
    module {
        ext.set('resourceDirs', [])
        resourceDirs += file('src/dist/etc')
   }
}
Run Code Online (Sandbox Code Playgroud)

然而,由于https://youtrack.jetbrains.com/issue/IDEA-133399,尽管 IDEA 现在将“src/dist/etc”标记为资源目录,但它仍然无法工作。

  • 我怀疑这是否会起作用。不存在或曾经存在过“resourceDirs”属性(您从哪里得到这个属性?)。您可以通过“ext.”引入一个,但现有的插件都不会意识到它。也许尝试`sourceDirs += [file('src/dist/etc')]`。 (2认同)