私は2つのMavenプロジェクトAとBを持っています。
BはAのfat jarに依存します。intellijマルチモジュールプロジェクトは、モジュールをjarファイルではなく依存ファイルとして追加します。
MavenプロジェクトとしてBをインポートするとき、Aはターゲットjarの代わりにModule dependencyとして追加されます。
これを無効にする方法はありますか?
Bさんのpom.xml(依存部分)
<dependency> <groupId>com.xxx.yyy</groupId> <artifactId>A</artifactId> </dependency>
Aさんのpom.xml
(アーティファクトの詳細):<groupId>com.xxx.yyy</groupId> <artifactId>A</artifactId> <version>trunk-SNAPSHOT</version>
A脂肪ジャーを与えるためにパッケージ化されていますBはバージョンプラグインを使用してAのバージョンを決定しています。
問題:
これら二つはのIntelliJプロジェクトのモジュールです。どのような方法でインポートしても、プロジェクトBの依存関係リストには、プロジェクトAのjarファイルのSNAPSHOT(または特定のバージョン)ではなく、プロジェクトAがモジュール依存として表示されます。このため
、私は/プロジェクトBにインストールパッケージ化しようとするたびに、私はヘルパークラスのいくつかのためにClassNotFoundを見ていますA.
からコンパイルプロジェクトBのためのログ:
Error:(21, 40) java: cannot find symbol
symbol: class ImmutableMap
location: package org.xxx.yyy.zzz
Error:(22, 40) java: cannot find symbol
symbol: class ImmutableSet
location: package org.xxx.yyy.zzz
このクラスファイルは、AのSNAPSHOT jarで見ることができます。
を通じて解決され、あなたはあなたの質問について詳しく説明していただけますか? pom.xml – drJava
更新された質問をpom.xmlで公開することができます。 –
どこ?あなたの質問に変更はありません。 – drJava