0

我有一个名为 P1 的项目,它是一个 spring-boot 项目。pom已经有一个父pom,所以我决定用springboot和一个bom。

    <dependencyManagement>
        <dependencies>
            <dependency>
                <!-- Import dependency management from Spring Boot -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

然后将该项目部署为 P1.jar

然后我有一个名为 P2 的第二个项目。该项目只有 1 个依赖项,即 P1 项目:

<dependencies>
    <dependency>
        <groupId>my.company</groupId>
        <artifactId>p1</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>

这是两个项目的 mvn dependency:tree 的摘录:

P1:

[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.3.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.3.RELEASE:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-jdbc:jar:8.5.6:compile
[INFO] |  |  |  \- org.apache.tomcat:tomcat-juli:jar:8.5.6:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:4.3.5.RELEASE:compile
[INFO] |  +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] |  +- org.springframework.data:spring-data-jpa:jar:1.10.6.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-orm:jar:4.3.5.RELEASE:compile

P2:

[INFO]    +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.3.RELEASE:compile
[INFO]    |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.3.RELEASE:compile
[INFO]    |  |  +- org.apache.tomcat:tomcat-jdbc:jar:8.5.6:compile
[INFO]    |  |  |  \- org.apache.tomcat:tomcat-juli:jar:8.5.6:compile
[INFO]    |  |  \- org.springframework:spring-jdbc:jar:4.3.5.RELEASE:compile
[INFO]    |  +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO]    |  +- org.springframework.data:spring-data-jpa:jar:1.10.6.RELEASE:compile
[INFO]    |  |  \- org.springframework:spring-orm:jar:4.2.9.RELEASE:compile

如您所见,spring-orm 依赖项不同。有人可以解释一下这是如何工作的,我该如何解决?

目前我在我的第二个项目中添加了 BOM。但这不是我的目标。我希望能够导入 P1 项目及其 REAL 依赖项,而无需执行任何其他操作或知道项目正在使用哪个 bom。

4

0 回答 0