开发中, 应尽量避免循环依赖
如果存在, 则是业务不明了, 需要改造, 如需紧急上线, 可以使用如下方式
1.什么是循环依赖?
模块A依赖模块B, 而模块B又依赖模块A, 类似这样的就是循环依赖
2.可以添加一个模块C, 使用插件build-helper-maven-plugin, 让模块A, 模块B都去依赖模块C, 而不相互依赖
模块C的pom.xml如下, 将模块-manager和模块-rpc里的代码输出到模块C, 这样编译器会先编译C, 由于C里包含A和B中的代码(jar包), 所以是可编译过的
<!-- 解决模块相互依赖,综合所有相互依赖代码统一编译 -->
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>../pop-finance-manager/src/main/java</source>
<source>../pop-finance-rpc/src/main/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>