在构建之后,使用Gradle自动将属性文件复制到相同的目录

时间:2018-03-08 09:43:58

标签: java gradle automation

我正在开发一个包含许多属性文件的Java项目,其结构如下所示:

src
   |
    -main
        |
         -java
             |
              -ui
                |
                 -many directories with property file in each directory.

我想使用Gradle build构建胖jar,它将在同一目录中包含这些文件。

类似的东西:

build
   |
    -classes
        |
         -java
             |
              -main
                |
                 -ui.... and all the files like above.

我该怎么做?

1 个答案:

答案 0 :(得分:0)

按照惯例,gradle会将放置在src/main/resources下的所有属性(和其他资源)文件打包到最终的jar工件中。

如果您确定仍要将属性文件放在src/main/java下,则可以使用resources

中的以下代码段配置build.gradle来源设置位置
sourceSets {
  main {
    resources { 
      srcDirs = ["src/main/java"]
      include "**/*.properties"
    }
  }
}

属性文件不会以build/classes结尾,但会成为你jar的一部分。您希望它们也是build/classes/java(不推荐),那么您还需要为资源配置输出目录。请参阅this回答。