mavenプロジェクトは複数の親を持つことができますか?
質問
私たちはJavaとFlexのプロジェクトを持っています。現在、両方のプロジェクトで使用したい構成を含む 1 つの基本 pom があります。これの問題点は Flex プロジェクトは設定を継承しており、例えば
javadoc
と
pmd
のプラグインを使用することができますが、これは望ましくありません。
私はこれをきれいにして、本当のベースpomを持ちたいのです。
java-base-pom
と
flex-base-pom
. しかし、Flexの部分とJavaの部分の両方を持つマルチモジュールで、これはどのように動作するのでしょうか?
私たちは、次のような構造を使用する独自のアプリケーションにプラグインを持っています。
-
my-plugin(マイプラグイン
- my-plugin-client(フレックス)
- my-plugin-server(java)。
my-plugin
を含むだけです。
pom.xml
と
<modules/>
セクションを作成します。私なら
my-plugin
pom.xmlを両方の親として使用しますが、その後、私は親としてjava base-pomまたはflex base-pomを使用することはできません。このための最良の方法は何でしょうか?
どのように解決するのですか?
プロジェクトは 1 つの親を持つことができますが (C++ の多重継承とは異なります)、この親はより大きな親階層の一部となることができます。他の人が指摘したように、したがって、次のようなものを持つことができます。
base-pom/ |-- flex-base-pom | |-- my-plugin-client | |-- pom.xml |-- pom.xml |-- java-base-pom |-- my-plugin-server | `-- pom.xml |-- pom.xml `-- pom.xml
とはいえ、実際の問題点はそうだと書いてありましたね。
flexプロジェクトは、例えばjavadocやpmdの設定を継承しますが、これは望んでいないことです。
を使うべきです。
pluginManagement
要素を使用してください。
プラグインマネジメント はプラグインと一緒に見られる要素です。プラグイン管理は、この特定のプロジェクトビルドのためのプラグイン情報を設定するのではなく、このビルドから継承されるプロジェクトビルドを設定することを目的としていることを除いて、ほとんど同じ方法でプラグイン要素を含んでいます。ただし、これは子プロセスの plugins 要素で実際に参照されるプラグインのみを設定するものです。子プロセスはpluginManagementの定義を上書きする権利があります。
ということで、親側のpomで、プラグインの設定を
pluginManagement
でプラグインを設定し (たとえば javadoc と pmd)、それらを
plugins
要素内で参照します (ここでは my-plugin-server でのみ)。これにより、現在の問題が解決されます。
関連
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] なぜJavaにはtransientフィールドがあるのですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み】Maven モジュール + 特定の単一モジュールのビルド
-
[解決済み】Java 8でJavadocタグが不完全な場合、Mavenは動作しません。
-
[解決済み】Mavenの親POMとモジュールPOMの比較
-
[解決済み】mavenでJavaのバージョンを指定する - プロパティとコンパイラープラグインの相違点
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
javaの非静的メソッドを静的に参照することができない
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
java.sql.SQLException: 結果セットの開始前
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
maven レポート エラー 解決不可能な親POM
-
Java基礎編 - オブジェクト指向
-
Java:未解決コンパイル問題の解決方法
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。