我想将几个模块打包到一个可执行的JAR文件中。 为此,我正在使用Maven Shade。 该示例将这5个模块称为A,B,C,D,E。 模块B,C,D,E在每个pom中都依赖于项目A。
要构建此JAR,我创建了一个包含以下定义的父模块:
<module>A</module>
<module>B</module>
<module>C</module>
<module>D</module>
<module>E</module>
然后,在依赖于其他项目的项目A中,定义Maven阴影插件。问题是我必须在此处指定对其他项目的依赖关系,以便它可以打包并考虑JAR中的其他项目。但是这些其他项目已经在pom中定义了对项目A的依赖。
所以我有一个依赖关系的循环引用:
在项目A到B,C,D和E中打包一个JAR文件
在B,C,D和E到A的项目中使用A中的内容
您知道我应该如何在这种体系结构中指定一种不具有像这样的循环引用并具有我想要的行为的方式吗?
谢谢!
答案 0 :(得分:0)
创建第六个模块F,该模块生成可执行jar。那么您就没有任何循环依赖性。