2017-07-27 15 views
1

テック:Mavenの3 +のIntelliJ + ElasticSearch 5.5.0 + Carrot2 3.15.1Mavenの内部プロパティ

私はいくつかの矛盾を上昇Carrot2とElasticSearchでプロジェクトを持っています。 Carrot2はLucene 5.3.1を使用し、ElasticSearchは6.3.1バージョンを使用します。私はcarrot2に6.3.1 Luceneバージョンを使用させて修正してもらいたい。

私は私のプロジェクトのメインポンポンファイルにプロパティを追加しようとしました:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
    <elasticsearch.version>5.4.2</elasticsearch.version> 
    <org.apache.lucene.version>6.5.1</org.apache.lucene.version> 
</properties> 

残念ながら、この方法はまだLuceneのバージョンの競合に起因する誤差が上がります。 最後に、私はニンジンの依存ポンポンファイルの内部値を変更することで、私のローカルマシンのための解決策を見つけた:それは罰金だけで、私のローカルマシン上で動作します

<parent> 
    <groupId>org.sonatype.oss</groupId> 
    <artifactId>oss-parent</artifactId> 
    <version>5</version> 
</parent> 

<groupId>org.carrot2</groupId> 
<artifactId>carrot2</artifactId> 
<version>3.15.1</version> 

<name>Carrot2</name> 
(...) 
<properties> 
(...) 
    <org.apache.lucene.version>6.5.1</org.apache.lucene.version>  
    <org.simpleframework.version>2.7.1</org.simpleframework.version> 
    <org.carrot2.attributes>1.3.1</org.carrot2.attributes> 
</properties> 

。ニンジンのpomファイルで変更されたLuceneのバージョンは伝播していないようで、プロジェクトの任意のインスタンスでこのバージョンを手動で変更する必要があります。外部依存関係でプロジェクトプロパティ値を使用するようにmavenに強制する可能性はありますか?

+0

ニンジンのLucene依存性を[除外する](https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html)しましたか? – Val

+0

何をしようとしているのか分かりませんが、このプラグインを使用することをおすすめします:https://github.com/carrot2/elasticsearch-carrot2と互換性のあるすべてのプロジェクト(ES、C2、プラグイン自体)。 –

答えて

0

@Valありがとうございます。少し説明:

私は問題の非常に初めに除外を試みましたが、lucene-coreのためにだけです。私のWindowsマシンでは動作しませんでしたが、別のLinuxベースのプラットフォームで正しく動作するようです。私は、次の除外を追加しているし、どのマシン上で動作するようです:

<dependency> 
    <groupId>org.carrot2</groupId> 
    <artifactId>carrot2-core</artifactId> 
    <version>3.15.1</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-core</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-analyzers-common</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-backward-codecs</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-highlighter</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-memory</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-queryparser</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.apache.lucene</groupId> 
      <artifactId>lucene-analyzers-smartcn</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

しかし、私のUbuntu + intellij17 + Mavenの3.3.9を上正常に動作しますが、Windows上では動作しませんlucene-core一つだけexlusionに戻っ+ intellij14 + maven 3.3.3。

手順: Mavenのクリーン - >すべてのMavenプロジェクトを再インポート - >

を再構築し、両方の構成は混乱に私をリードして再構築/キャッシング、の異なる戦略を持っているようです。

関連する問題