テック: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に強制する可能性はありますか?
ニンジンのLucene依存性を[除外する](https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html)しましたか? – Val
何をしようとしているのか分かりませんが、このプラグインを使用することをおすすめします:https://github.com/carrot2/elasticsearch-carrot2と互換性のあるすべてのプロジェクト(ES、C2、プラグイン自体)。 –