0

Maven シェード プラグイン (uberjar) を使用して自己完結型の jar を構築していますが、すべての spring-security-crypto クラスに対して警告が表示されます。

[WARNING] We have a duplicate org/springframework/security/crypto/bcrypt/BCrypt.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/codec/Base64.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/codec/Hex.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/codec/InvalidBase64CharacterException.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/codec/package-info.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/codec/Utf8.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/encrypt/AesBytesEncryptor$1.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
[WARNING] We have a duplicate org/springframework/security/crypto/encrypt/AesBytesEncryptor.class in ***\.m2\repository\org\springframework\security\spring-security-crypto\3.1.0.RELEASE\spring-security-crypto-3.1.0.RELEASE.jar
...

spring-security-core jar を調べたところ、spring-security-crypto に含まれるすべてのクラスが含まれていることがわかりました。さらに、ソースを比較すると、それらは同じであることがわかります。

クラスは同じなので無視できることはわかっていますが、

  1. これは、spring-security-core のクラスが更新されない場合に変更される可能性があります。
  2. さらに重要なことに、なぜこれが起こっているのか理解できませんか?spring-security-core 自体が spring-security-crypto にコンパイル依存していることに注意することが重要です。これは私を完全に困惑させます。

そこにある説明と解決策が大好きです。

4

1 に答える 1

2

これは3.1.0のバグです。コアから暗号への依存関係があってはなりません。別の暗号jarは、SpringSecurityを使用しない他のSpringプロジェクトでの使用のみを目的としています。これは、ビルドが構成された方法の副作用であり、最終的にコアpomになりました。

推移的な依存関係としてcrpytojarをプルするのを防ぐために、pom依存関係にMaven除外を追加するだけです。spring-security-core

于 2012-06-04T01:23:21.973 に答える