处理多个项目时将资源与 gradle 合并的问题

Posted

技术标签:

【中文标题】处理多个项目时将资源与 gradle 合并的问题【英文标题】:Problem with merging resources with gradle when working with multiple projects 【发布时间】:2019-05-16 20:15:01 【问题描述】:

我有两个项目

项目A和项目B。意思是在项目A中我有:

dependencies 
    compile project(':B')

项目 B (pkg: com.something.b) 有一项服务和一些测试,这取决于它自己在 src/main/resources 中找到的资源。 (这个项目的测试工作正常,因为资源还可以)

项目 A (pkg: com.something.a): 需要来自 B 的 @Autowire 服务,所以它有 @ComponentScan(com.something)。 当它需要运行测试时,这些测试都失败了,因为缺少来自项目 B 的资源。

在我看来,当构建“项目 A”时,spring 会从项目 B 的类路径测试 bean 中找到并尝试启动它们。该测试尝试从资源文件夹加载文件,但问题是项目 B 中的资源不在项目 A 中。构建(测试)失败

让我尝试改写问题。如何在两个项目中运行测试并共享相同的资源?或者还有其他更优雅的方法吗?

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

做你想做的事的优雅方法是创建一个公共库,以共享给你认为有必要的任何服务。

common library multi module

【讨论】:

以上是关于处理多个项目时将资源与 gradle 合并的问题的主要内容,如果未能解决你的问题,请参考以下文章

在使用 Android Gradle 插件 3.3.0 合并资源期间构建失败

Android多版本flavor配置之资源文件和清单文件合并介绍

Spring Boot、Gradle 和非 Maven 依赖项 [重复]

阻止下载 Gradle 和 Maven 依赖项

Intellij 处理混合项目(maven+gradle)

具有项目编译依赖项的 Gradle 嵌套多项目