2011-02-09 11 views
3

私はSpring Batch 2.1.6.RELEASEで新しいプロジェクトを開始しています。私はMavenをdepemdency管理に使用しています。Spring BatchでSpringフレームワークのバージョンを上書きするにはどうすればよいですか?

デフォルトでは、Springフレームワーク2.5.6をインポートしますが、代わりに3.0.5.RELEASEを使用します。

This postには互換性がありますが、私はそれを私のmaven pomファイルでどのように宣言するか分かりません。

私はspring-core、spring-beans、spring-contextのバージョン3.0.5.RELEASEの依存関係を入れてみましたが、2.5.6バージョンを削除せずにライブラリをプロジェクトに追加しました。

私は春のバッチ親のPOMファイルを見ました。私が望む春のバージョンを使用する「spring3」というプロファイルがあります。プロジェクトのpomファイルでプロファイルを有効にするにはどうすればよいですか?事前に

おかげで、

フィリップ

答えて

5

あなたはMavenの春バッチ依存の依存exclusions要素を使って、春のバッチの春フレームワークv2.5.6に過渡的依存性を除外することができます。以下のような何か...

<dependency> 
    <groupId>org.springframework.batch</groupId> 
    <artifactId>spring-batch-core</artifactId> 
    <version>2.1.6.RELEASE</version> 
    <exclusions> 
    <exclusion> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
    </exclusion> 
    <!-- Other exclusions here --> 
    </exclusions> 
</dependency> 
+0

解決策だが、単純に1がなければならない...彼らは何のためにこれらのプロファイルを持っている...どのように私は春バッチのポンポンファイルで宣言されたプロファイルを使用するようにMavenを強制することができます? – Philippe

+0

間違いなく、除外を追加して削除すると、依存関係のツリーが正しいバージョンで表示されるようになりました。私はこれがEclipse(STS)を通してMavenを使用する副作用かどうかわかりません... – Philippe

+0

これは興味深いことですが、spring-batch-parentのプロファイルは 'spring.framework.version'プロパティを設定していますin dependencyManagement。おそらく、 '-P spring3'コマンドラインスイッチ(たぶん忘れやすいかもしれません)を使ってビルド中にそのプロファイルを有効にすることもできますし、' spring.framework.version'プロパティを自分のプロジェクトに定義することもできます。仕事、価値がある試してみましょう。 – diffa

関連する問題