spring-boot プロジェクトである P1 という名前のプロジェクトがあります。pom には既に親 pom があるので、bom で springboot を使用することにしました。
<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 という名前の 2 番目のプロジェクトがあります。このプロジェクトには、P1 プロジェクトである依存関係が 1 つだけあります。
<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 の依存関係が異なります。誰かがこれがどのように機能するか、どうすれば修正できるかを説明できますか?
現時点では、2 番目のプロジェクトに BOM を追加しました。しかし、それは私の目標ではありません。P1 プロジェクトをその REAL 依存関係と共にインポートできるようにしたいのですが、他に何もする必要も、プロジェクトが使用している BOM を知る必要もありません。