我有两个模块,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
Run Code Online (Sandbox Code Playgroud)
父 mvn 配置
...
<modules>
<module>A</module>
<module>B</module>
</modules>
...
Run Code Online (Sandbox Code Playgroud)
模块一个 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>
...
Run Code Online (Sandbox Code Playgroud)
首先:当 A 依赖于其他模块的类时,它必然依赖于jar。您不能依赖模块的某些部分或仅依赖类。
所以让我草拟一个解决方案:
如果 B 是<packaging>jar</packaging>(标准的,如果没有给出包装也是如此),那么您可以将其用作依赖项。您不需要范围或类型条目。
如果B是一些其他的包装(包括弹簧定义包装类型,其中我没有专家)的,则应该不限定从A上B.依赖性相反,你定义一个第三模块C,其包括作为类从 A 和 B 使用,并让它们都依赖于 C。
不要试图构建对非 jar 的依赖。如果您需要类,请使用这些类定义一个模块,并在需要这些类时使用它。
| 归档时间: |
|
| 查看次数: |
4683 次 |
| 最近记录: |