首页 > 解决方案 > 处理多个项目时将资源与 gradle 合并的问题

问题描述

我有两个项目

项目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 中。构建(测试)失败

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

提前谢谢你的帮助!

标签: javaspringspring-bootgradlegradle-plugin

解决方案


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

公共库多模块


推荐阅读