バージョンの収束を強制するように構成された Enforcer プラグインで maven 3 を使用しています。Spring 3.1.2 と Spring Security 3.1.3 を使用しています。
問題は、Spring 3.1.3 POM が Spring 3.0.7 への依存関係を宣言していることです。これは、Spring セキュリティに最低限必要なバージョンであるためです。これは、推移的な依存関係グラフに Spring 3.1.2 と Spring 3.0.7 の両方が含まれているため、エンフォーサ プラグインが不平を言うことを意味します。
修正は、Spring セキュリティの依存関係として Spring 3.0.7 を明示的に除外し、エンフォーサ プラグインが満足するようにすることです。
以下のコード スニペットはまさにそれを行います。問題は、スプリング セキュリティの各 jar に対して同じスニペットを何度も繰り返さなければならないことです。これは面倒で、pom を読みにくくします。伝える方法はありますか?線に沿って何かを作った。
依存関係 org.springframework.security の artificatId に関係なく、Spring フレームワークへのセキュリティ フレームワークの依存関係を無視しますか?
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-acl</artifactId>
<version>${spring.security.version}</version>
<exclusions>
<exclusion>
<artifactId>spring-tx</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-asm</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-aop</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-jdbc</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-expression</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
<exclusions>
<exclusion>
<artifactId>spring-aop</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-expression</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>aopalliance</artifactId>
<groupId>aopalliance</groupId>
</exclusion>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-jdbc</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-tx</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>