私は以下のように2つのモジュールとのプロジェクトがあります。モジュールはどのように冗長依存なしに影付きのjarに依存することができますか?
プロジェクト
- モジュール1(斜線のjar、LIBのA、Bに依存)
- モジュール2(戦争)
モジュール2をmodule1に依存します。そして、モジュール1のパッケージは、Maven Shade Pluginを使って影付きのjarファイルにパッケージ化されています。 Module2はモジュール1に依存する戦争にパッケージ化されています。
mvnパッケージを実行しようとすると、影付きのjarファイルだけでなく、シェードjarが依存する依存型ライブラリ(A、B)も含まれています。
これは奇妙です。どのように戦争を影付きの瓶だけを含むが、依存する紐を含まないようにすることができますか?アドバイス、ありがとう。
yep、module2がmodule1に依存する場合、すべてのライブラリを除外します。しかし、それはコンパイルの問題を引き起こします(クラスは除外の原因ではありません)。私はそれが戦争パッケージ段階のlibsを除いてより良いと思う。 –
シェーディングされたjarファイルをクラシファイアで作成した場合、module2はシェーディングされたjarファイルに依存しますか? @Daniel –
Module1は、hadoopジョブモジュールであり、module2が実行する必要のあるすべてのhadoopジョブを含んでいるため、影付きです。私は例外を見つけられないクラスで糸に仕事を提出することを避けるために、すべての依存関係で肥満を作ります。 –