Gradle包括查询文件

时间:2017-12-12 14:07:08

标签: gradle

我的查询文件与我的类位于同一位置。但gradle在编译后不会将查询文件复制到类目录中。我在下面添加了以下内容,但它没有用。你能帮忙解决这个问题吗?

我无法重构移动查询文件。

 processResources {
        from('src/main/java') {
            include  '**/*.properties'
        }
    }

以下结构

src
  service
     service1
        Service.java
        Service.properties

我希望gradle生成的输出为

classes
   service
        service1
          Service.class
          Service.properties

2 个答案:

答案 0 :(得分:0)

如果你的结构是src/service/service1/Service.properties,那么如果你从src/main/java复制,那么为什么没有复制是很明显的,不是吗?

除此之外,配置sourceSets { main { resources { ... } } }而不是配置processResources任务可能更好。

答案 1 :(得分:0)

Gradle和Maven都使用相同的合理惯例

  • src / main / java仅适用于java文件
  • src / main / resources用于资源(例如属性,xml,图像等)

我建议你坚持这些非常明智的惯例。 Gradle和Maven都可以配置为允许src/main/java中的资源,但是如果可能的话应该避免这种情况。

不要搞乱默认!

如果您真的需要src/main/java中的资源,那么我建议您这样做

processResources {
    from('src/main/java') {
        exclude '**/*.java'
    }
}