java – 如何在maven项目中将类文件添加为依赖项(而不是jar)?

我有两个模块,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

parent mvn config

...
<modules>
  <module>A</module>
  <module>B</module>
</modules>
...

模块一个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是某些其他包装(包括我不是专家的弹簧定义的包装类型),那么你不应该在A上定义A的依赖关系.相反,你定义了第三个模块C,它包括那些类从A和B中使用,并让它们都依赖于C.

不要尝试构建非jar的依赖项.如果需要类,请使用这些类定义模块,并在需要类时使用它.

转载注明原文:java – 如何在maven项目中将类文件添加为依赖项(而不是jar)? - 代码日志