Spring 3.0.6から3.1にアップグレードしているところですが、Tomcatでの実行に問題があるようです。どうやらそれはSpring3.0.6の依存関係を持っており、起動時にそれを使おうとします。ただし、これは私のSpring3.1アプリと競合します。を介して展開しようとすると、これを取得します
mvn clean package tomcat:run
また、Tomcat 7で実行しようとした場合(Eclipseを介して、またはTomcat webappsフォルダーにコピーするだけで)
ここでの解決策は何ですか?Maven 3へのアップグレードは役に立ちますか?Maven Tomcatプラグインはどうですか?1.1はこれまでにリリースされていますが、バージョン2はまだ開発中のようです。誰かがTomcatプラグインの2.xバージョンを使用するpomセットアップを持っていますか?
(私の現在のエラーログは基本的にこれを示しています:
java.lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotationAttributes
これは明らかにSpring3.1と3.0.xの間のバージョンの競合です)
私はこれにかなり迷い、モジュールの依存関係の混乱を一日中解決してモジュールを3.1にアップグレードしようとしていましたが、すべてのテストが実行され、Tomcatで実行できなくなりました。:(
編集:私の春の依存関係ツリー:
module1:jar:1.0-SNAPSHOT:compile
+- modul2:jar:1.0-SNAPSHOT:compile
| +- module3:jar:1.1-SNAPSHOT:compile
| | +- org.springframework:spring-context:jar:3.1.1.RELEASE:compile
| | +- org.springframework:spring-beans:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-aop:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-aspects:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-orm:jar:3.1.0.RELEASE:compile
| | | +- org.springframework:spring-jdbc:jar:3.1.0.RELEASE:compile
| | | \- org.springframework:spring-tx:jar:3.1.0.RELEASE:compile
| | \- org.springframework:spring-core:jar:3.1.0.RELEASE:compile
| +- org.springframework:spring-webmvc:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-asm:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-context-support:jar:3.1.0.RELEASE:compile
| | +- org.springframework:spring-expression:jar:3.1.0.RELEASE:compile
| | \- org.springframework:spring-web:jar:3.1.0.RELEASE:compile
| \- org.springframework:spring-test:jar:3.1.0.RELEASE:compile
\- org.springframework:spring-test-mvc:jar:1.0.0.BUILD-SNAPSHOT:test
編集2:
奇妙な理由で、.m2フォルダーからすべてのSpring 3.0.6 libsを削除してから、Webアプリケーションをパッケージ化すると、すべての3.0.6jarが再度ダウンロードされます。ただし、依存関係ツリーは上記のものです。私はそれがバージョンにいくつかの問題があり、古いものを使用しないようにセキュリティモジュールpomの一時的な依存関係をオーバーライドする必要があるspring-securityに関係していると思います...
編集3:
spring-data-jpaです。どうやら最新バージョンはまだSpring3.0.6に依存しています。pomの依存関係をオーバーライドすることで、Spring 3.1と一緒に動作させることができるので、テストが実行されます。ただし、データモジュールをWebアプリケーションに統合すると、Spring3.0.6を使用しようとします...その問題を回避する方法がわかりません。spring-data-jpa(バージョン1.1.0.RC1)の最新のRealase Candidateでさえ、Spring3.0.7に依存しています...