我有两个模块,A 和 B,它们位于同一个父级下。现在 A 需要 B 作为依赖。我不能只用jar
作为依赖类型,因为模块 B 正在使用spring-boot-maven-plugin
,所以我想知道如何设置A的pom配置以使A不依赖于B的编译类jar
?
- root
- A
- src # module A's source code
- target
- classes # module A's compiled classes
- A.jar # module A's compiled jar output
- pom.xml # module A's mvn config
- B
- src # module B's source code
- target
- classes # module B's compiled classes, HOW CAN I IMPORT THESE TO A?
- B.jar # module B's mvn config
- pom.xml # module B's mvn config
- pom.xml # parent mvn config
父级 mvn 配置
...
<modules>
<module>A</module>
<module>B</module>
</modules>
...
模块 A mvn 配置
...
<parent>
<!- pointed to parent ->
</parent>
<dependencies>
<dependency>
<groupId></groupId>
<artifactId>B</artifactId>
<scope>??????????????</scope> # WHAT SHOULD I PUT HERE?
<type>???????????????</type> # WHAT SHOULD I PUT HERE?
</dependency>
<dependencies>
...
首先:当 A 依赖于其他模块的类时,它必然依赖于jar。您不能依赖模块的某些部分或仅依赖类。
那么让我画出一个解决方案:
如果 B 是<packaging>jar</packaging>
(标准,如果没有给出包装也是如此),那么你可以将它用作依赖项。您不需要范围或类型条目。
如果 B 是其他一些包装(包括 spring 定义的包装类型,我不是这方面的专家),那么你应该not定义 A 对 B 的依赖关系。相反,您定义第三个模块 C,其中包括 A 和 B 使用的类,并让它们都对 C 具有依赖关系。
不要尝试构建对非 jar 的依赖关系。如果您需要类,请使用这些类定义一个模块,并在需要这些类时使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)