0

ささいな質問なのかしら、気づいていません。

マルチモジュールMavenプロジェクトでは、「共通」モジュールがあるとしましょう。たとえば、5つのモジュールがあり、そのうち1つのモジュールが一般的です。他の4つのモジュールがクラスごとに共通モジュールに依存しているかどうかを判断する方法はありますか?つまり、共通モジュールのすべてのクラスについて、そのクラスに共通して依存している他のモジュールのクラスを知りたいですか?(実際には、Mavenはここでは重要ではありません)。日食自体にこの機能がありますか?

ツールが図式的な表現を提供するなら、それは素晴らしいことです。

4

3 に答える 3

0

私の知る限り、Maven は「クラスごと」に機能しません。モジュールは、依存関係の観点から言えば、そのアトミック要素です。

モジュールごとの依存関係を取得するために使用できますmvn dependency:tree。eclipse/intellij エンタープライズ エディションでは、結果のグラフィカルな表現がありますが、それだけです。

基本的に、コンパイル時と実行時の依存関係を区別する必要があります。

もちろん、一部のクラスで「満たされていない」コンパイル時の依存関係がある場合、たとえば、Logger を使用しているが、クラスパスに log4j/その他の関連ライブラリがない場合、クラスのコンパイル中にエラーが発生します。そのコンパイラの仕事は、メイヴンではありません。

現在、実行時の依存関係を追跡するのはさらに難しくなっています。たとえば、コンテナ内で実行していて、log4j ライブラリの依存関係を「提供された」スコープで定義している場合、そのライブラリを提供するコンテナに依存していることになります。すべてのクラスのロード処理を処理します。しかし、コンテナ内で何が起こっているかをどのように知ることができますか?

つまり、結論として、あなたが求めているのはmavenでは不可能であり、その理由を説明しようとしました:)

お役に立てれば

于 2012-08-30T05:24:32.347 に答える
0

私は開発者の 1 人なので、公平ではありませんが、Restructure101はあなたが望むものに最適であると信じています。ルート POM で RS101 をポイントすると、次のようなすべての POM の依存関係マップが表示されます。

ここに画像の説明を入力 次に、アイテムをダブルクリックして任意のレベルに展開することで、ある pom から別の pom への依存関係を追跡できます。この場合、Maven-compat のコードで使用されているものを発見するために、Maven-core にドリルダウンしました。

ここに画像の説明を入力

Restructure101 を使用して、たとえば、クラスを新しい pom にドラッグし、pom レベルの依存関係への影響を確認するなど、pom 間でクラスを再編成することもできます (前述の一般的な pom の作成/改善など)。アクション リストが IDE にエクスポートされます。

コンパニオン製品の Structure101 には関連する機能があり、チェックする価値がありますが、あなたが説明したものには Restructure101 をお勧めします。

于 2012-08-30T21:10:25.630 に答える
0

Eclipse では、調べたいクラスを選択して CTRL-SHIFT-G を押すだけで、ワークスペース内で参照を検索できます。この場合、マルチモジュールのすべてのモジュールを開く必要があることを意味します。欠点は、知りたいすべてのクラスに対してこれを行う必要があることです。

于 2012-08-30T05:54:46.963 に答える