gradle 工程依赖 打包 配置文件

来源:互联网 发布:mysql安装密码 编辑:程序博客网 时间:2024/06/06 07:02

gradle 父工程下,有两个子工程,A 和 B,A 依赖于 B,A 中的 build.gradle 文件中有:

dependencies {
compile(project("B"))

}

使用命令 gradle :A:installDist 将 A 打包,lib 目录下会有 B.lar 文件,然而 B 工程的配置文件并没有打包到 A 的目录下或者 B.jar 的压缩包中.

于是有两个关于打包的问题:

1.如何在打包 A 时,将B 中的 *.properties 文件如何打包到 B.jar 中

2.如何在打包 A 时,直接将 B 中的 *.properties 文件打包到 A 的 conf 目录下

第 1 个问题,由于父工程下  build.gradle 中对于所有的 subprojects 都有如下配置

jar {
        exclude('**/*.properties')
        exclude('**/static')
        exclude('**/templates')
    }

故所有工程打包时,jar 里面都不会含有配置文件。

一般来讲,所有的配置文件都不应该包含在 jar 中,让它可配置。


第 2 个问题,可以这样解决,在 A 打包时,将  B 的配置文件一起打包, build.gradle 中写入:

applicationDistribution.from('../B/src/main/resources/') {
    into 'conf'
}

另外还要处理好 B 中的配置文件与 A 中 conf 配置重名的问题

一般来讲,所有被依赖的工程(一般是公共的工程)的配置文件都应该放在使用工程中去,不应该放在被依赖工程中,一旦某个使用工程配置要改变,不会影响其它使用工程的行为。

原创粉丝点击