在处理多个项目时使用gradle合并资源的问题

时间:2018-12-16 01:26:34

标签: java spring spring-boot gradle gradle-plugin

我有两个项目

父级项目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 个答案:

答案 0 :(得分:0)

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

common library multi module