Kafka メッセージを生成/消費する Java ベースのアプリを開発しています。私のpomには次のものがあります:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.9.2</artifactId>
<version>0.8.2.2</version>
</dependency>
また、Maven Enforcer プラグインも使用しています。エンフォーサ プラグインを呼び出していないように見える Eclipse では、プログラムは正常にビルドおよび実行されます。Eclipse の外で、「mvn clean package」を実行すると、エンフォーサーが収束エラーをスローします。
Dependency convergence error for org.apache.zookeeper:zookeeper:3.4.6 paths to dependency are:
+-com.mystuff:1.0
+-org.apache.kafka:kafka_2.9.2:0.8.2.2
+-org.apache.zookeeper:zookeeper:3.4.6
and
+-com.mystuff:1.0
+-org.apache.kafka:kafka_2.9.2:0.8.2.2
+-com.101tec:zkclient:0.3
+-org.apache.zookeeper:zookeeper:3.3.1
これに対処するための推奨される方法は何ですか? もちろん、推移的なzookeeperの依存関係を除外して明示的に追加することもできますが、これに頼らずにkafkaプロジェクトを構築できないのは奇妙に思えます。通常、推移的な依存関係が異なるトップレベルの依存関係から異なるバージョンで提供される場合は、推移的な依存関係を除外します。ここで - 私はたった 1 つのトップレベルの依存関係、kafka で問題を抱えています。