レガシーのSpringアプリケーションを使用していて、Spring Bootに移行したいと考えています。私の意図は、spring-boot-starter-data-jpa
を使用することです。このため、pom.xml
に次のセクションを追加しました(すべてのspring-boot-dependencies
を管理します):
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
しかし、これは私がしばらくの間保持する必要がある特定の依存関係を台無しにしています。現在Seleniumの依存関係(バージョン2.53.0
;別のプロジェクトから推移的に追加されています)を使用していますが、spring-bootは3.9.1
の依存関係をフェッチしています。
3.9.1
依存関係を除外したいのですが、exclusion
フィルターが期待どおりに機能しません。
要約すると、spring-boot-starter-parent
のマネージドspring-boot-starter-data-jpa
ではなくSelenium-Java
とspring-boot-dependencies
を使用したいと思います。
この点で助けを感謝します。
<excludes>
をいじり回す代わりに、(何を除外したかを把握した後で)何を含める必要があるかを再度把握してみてください。説明されているようにバージョンを上書きするだけです ここでは、Spring Bootのリファレンスガイド 。
spring-boot-starter-parent
を親として使用している場合、<Selenium.version>
を<properties>
セクションに追加して、必要なバージョンを指定できます。
<properties>
<Selenium.version>2.53.0</Selenium.version>
</properties>
これにより、Spring Bootで必要なバージョンが使用されます。
除外タグで除外する必要があるpom.xmlに依存関係を記述します。除外された依存関係はダウンロードされません:
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>