2017-01-27 14 views
0

私はすべてをスプリングブートバージョン1.4.3にリリースしています。スプリングブートを使用してspring-data-releasetrainからモジュールを除外する方法

私は既にスプリングデータソルバーバージョン2.1.0.RELEASEを使用していました。

は春ブーツの導入後、私は不足している、いくつかのエラーに気付い開始方法等...だから私はいくつかの掘削を行なったし、春のブート依存関係の中に、春・データ・releasetrain春-データの古いバージョンを使用していることを見つけ

私にとっては必須のバージョンよりも--solrです。

私はpom.xml内のバージョンとの依存関係を、運がないと再宣言しようとしました。

奇妙なのは、ビルドパスをmaven依存関係でチェックすると、spring-data-solrバージョン2.1.0.RELEASEの依存関係が正しいことです。これでコンパイル時の問題は発生しませんが、これは実行時にのみ発生します...

私はspring-data-solrを除外して自分自身を再インポートできますか?それを管理するより良い方法がありますか?

答えて

0

はい、不要なバージョンを除外して自分自身を再インポートすることができます。 しかし、あなたのバージョンのspring-data-solrがコンパイル時だけでなく実行時に、使用しているスプリングブートバージョンと互換性がある場合、これは意味をなさないでしょう。

これを行う最も簡単な方法は、pomのdependencyManagementセクションで目的のバージョンを宣言することです。 introduction-to-dependency-mechanism

依存関係の管理が推移依存関係

意味

のための依存関係調停よりも優先されます参照してください、依存関係の管理に使用すると、宣言したバージョンは推移依存関係からのバージョンをオーバーライドする必要があります。

私は星座を持っていましたが、これでは十分ではなかったし、クラスパスで不要なバージョンが見つかりました。このような場合は、不要な依存関係を除外する必要があります。私は春豆を除いていますので、それをバネ - セキュリティのOAuth2で必要とされる不要なバージョンで導入されていない上記のコードで

  <dependency> 
      <groupId>org.springframework.security.oauth</groupId> 
      <artifactId>spring-security-oauth2</artifactId> 
      <version>2.0.7.RELEASE</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework</groupId> 
        <artifactId>spring-beans</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

:Mavenので

除外はこのようになります。 不要なバージョンのSpring-Data-Solrで何らかの原因で裂けるすべての依存関係に対して、これを実行する必要があります。

あなたの親友にこれをやって、あなたのプロジェクトは、なぜ彼らはそこにあるデータ-Solrのを春に依存関係を持っているこれ、まさにあなたを示し

mvn dependency:tree -Dverbose -Dincludes=org.springframework.data:spring-data-solr 

です。 Maven for details

これで、mvn依存関係を作成します:ツリー、除外を追加して、不要なバージョンに依存しなくなるまで繰り返します。

最後に、必要なバージョンに一度依存関係を追加します。

+0

あなたの答えをありがとう、幸いにも春は1をリリースしました。私は必要なsolrの正しいバージョンを持っています。その私のためのきれいな修正。あなたの答えは正しいとはっきりとマークしています – zalis

関連する問題