1

Spring3.0.5からSpring3.1.2に更新していますが、Springセキュリティコアも3.1.2に更新されています。これは、aspectjrt(pomに記載)に依存していますが、3.1.2に更新した後、依存関係を生成します。ツリーを使用して

dependency:tree

ツリーにaspectjrtはリストされませんが、バージョン3.0.5を使用して同じツリーを生成すると、aspectjrtが依存関係ツリーにリストされます。

また、前述のように、aspectjrtの依存関係が両方のpom(バージョン3.0.5および3.1.2)に存在することをすでに確認しました。

依存関係としてaspectjrtがリストされていないため、aspectjrtのクラスが必要なため、コードはコンパイルされません。

pomにaspectjrt依存関係を明示的に含めると、コードは正常にコンパイルされます。

3.1.2にアップデートした後、なぜこの問題が発生するのか誰かが知っていますか?3.1.2にアップデートした後、aspectjrtが依存関係として含まれない理由

これに対する回避策はありますか、それとも私のpomに明示的な依存関係としてaspectjrtを含めることによって作業する必要があります。

4

2 に答える 2

3

AspectJは、SpringPOMでオプションの依存関係として宣言されています。つまり、Spring JARをビルドするにはAspectJが必要ですが、Springを依存関係として含める場合は、プロジェクトをビルドする必要はありません。AspectJ機能が必要な場合は、それをPOMに含めてください。

于 2012-11-30T14:21:11.997 に答える
-2

問題を解決しました。これは、Spring Security Core 3.0.5のaspectjrtがオプションではないため、予想される動作ですが、Springのセキュリティコア3.1.2では、aspectjrtがオプションとしてマークされています。

したがって、コードでaspectjrtの一部を使用している場合は、pomにaspectjrtの依存関係を含める必要があります。

お役に立てば幸いです。

于 2012-12-03T10:01:18.827 に答える