2017-12-18 13 views
0

IデバッグWARファイル内の特定のjarファイルの包含

A (testlib removed) 
/\ 
V V 
B C 
    \/
    V 
    D (packs to war) 

基本的に次のプロジェクト構造は、プロジェクトAプロジェクトDの順番の依存関係にあるB及びCの依存性である持っ

最初に私は図書館にtestlibと言っていましたが、プロジェクトAでこのライブラリを削除しました。

私は次のようでした:

1. mvn clean install on project A (`testlib` remove) 
2. mvn install on project B 
3. mvn install on project C 
4. mvn install on Project D, which creates a `war` say `d.war`. 

私はd.warアーカイブを開くと、私はtestlibは、私はすべてのプロジェクトにMVN dependency:treeしようとしたWEB-INF/lib

の内側に存在していることがわかります、私は見つけることができませんでしたいずれかのプロジェクトでtestlib 私はTESTLIBがまだ言及されているかどうか、プロジェクトAのポンポン内部ローカルの.m2リポジトリに

+0

'D'プロジェクトで' dependency:tree'コマンドの出力を追加することはできますか? – zaerymoghaddam

+0

申し訳ありませんが、プロジェクトと依存関係は内部プロジェクトの一部なので、出力を追加することはできません。 – user3288346

+0

私はあなたが「基本的にプロジェクトAはプロジェクトBの依存性ではなく、プロジェクトBの依存性はプロジェクトDの依存性である」ということを意味していると仮定します。 – OhadR

答えて

0

チェック.. warファイルまたはデバッグするより良い方法がある場合は含まれてtestlibの原因を理解したいです。 プロジェクトAのフォルダを.m2から削除し、AとDのクリーンインストールを試みてください。

1

Aのバージョンは何ですか?

「スナップショット」でない(つまり、「リリース」であり、「スナップショット」で終わらないことを意味します)場合、他のプロジェクトBとCは新しいAで更新されません。

+0

Aはスナップショットです。実際には、私はAの新しいバージョンがBとCに適用されていることがわかります。ちょうどそれがjarへのパッケージ化になると、 'testlib'ライブラリが戦争に含まれています。 – user3288346

+0

別のJARが "testlib"に依存しているかもしれませんか? – OhadR

+0

'testlib'のjarファイルが' target-server-side'フォルダにあることを確認しました。私はそれを削除してから、もう一度前述の手順に従いました。それは動作するようです。しかし、何が起こったのか理解するのを助けることができますか? – user3288346

関連する問題