問題タブ [parent-pom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven -- すべての依存関係 jar の親 poms をダウンロードするコマンドはありますか?
依存関係の jar をダウンロードできることはわかっていますが、すべての依存関係の jar の親 pom をダウンロードできますか?
たとえば、プロジェクト A はライブラリ B を依存関係として取り込みますが、ライブラリ B には親 pom C.xml があります。
Bs と C.xml のすべての pom.xml をダウンロードするコマンドを見つけたいです。
理想的には、C.xml に別の親 pom D.xml がある場合は、それもダウンロードしたいと考えています。
maven - Maven サイトのドキュメント: 追加のドキュメントへのリンクを追加する
Maven サイト プラグインを使用してプロジェクト ドキュメントを生成したいと考えています。「プロジェクト情報」と「プロジェクト レポート」のデフォルトのレイアウト、構造、および機能は、私にとっては問題ありません。しかし、プロジェクトにそのようなドキュメントがある場合、追加の(3番目の)セクション「追加ドキュメント」を追加したいと思います。これは、さらにいくつかのドキュメントにリンクしています。
ディレクトリを作成する と、必要に応じsrc/site/resources/otherDocuてドキュメントがディレクトリにコピーさ target/site/otherDocu れます。ただし、生成されたサイトはそれらにリンクしていません。
上記のディレクトリ内のファイルをリストしてリンクする 3 番目のセクション「追加ドキュメント」を希望します。できるだけ小さなオーバーヘッドでこれを行いたいです。site.xml具体的には、回避できる場合は、多くのソリューションで説明されているように、css などと一緒にown を含めたくありません。デフォルトのサイト構成を使用して、一部のみを「注入」するにはどうすればよいですか? site.xmlまたは、これが唯一の方法である場合、親POMで1回だけファイル(たとえば)を構成し、それを他のすべてのプロジェクトに継承できるはずです。src/site/resources/otherDocuで見つかったファイルを一覧表示し、それらへのリンクを表示するにはどうすればよいですか?
または、私が考えていたこと:これを行う独自のレポートプラグインを作成でき、他のレポートプラグインの場合と同様に、POM の「レポート/プラグイン」セクションでこのプラグインを指定するだけで済みます。 . このソリューションを使用すると、他のすべてのレポート プラグインと同様に、「プロジェクト レポート」セクションに追加のエントリを作成できる可能性があります。これは正しい方向への一歩です。しかし、いくつかのエントリが必要です (リンクされたドキュメントが複数あるため)、またはサブエントリを含む 1 つのエントリ "Additional docu" が必要です。
行きやすいのはどっち?推奨事項または同様の解決策はありますか? site.xmlすでにいくつかのリストを作成し、他のすべてのリソース (画像など) を必要とせず、継承できるファイル (または類似のもの) を持っている人はいますか?
java - 親POMでのバージョン宣言
子 POM で使用される依存関係のバージョンを宣言するのに適したタグ、つまり Properties タグまたは DependencyManagement タグはどれですか? それぞれの長所と短所は何ですか? もっと良い方法はありますか?
java - プロジェクト ビルド エラー: 解決できない親 POM
このプロジェクトをローカルの Eclipse にインポートすると、次のエラー メッセージが表示されます。
プロジェクト ビルド エラー: 解決できない親 POM: http://f5dmzprodf03.oami.europa.eu/nexus/content/groups/publicから eu.ohim:esearch-parent:pom:1.8.0-RC2.1 を転送できませんでした /がローカル リポジトリにキャッシュされた場合、nexus-releases の更新間隔が経過するか更新が強制されるまで、解決は再試行されません。元のエラー: アーティファクト eu.ohim:esearch-parent:pom:1.8.0-RC2.1 を nexus-releases との間で転送できませんでした ( http://f5dmzprodf03.oami.europa.eu/nexus/content/groups/public / ): 接続がリセットされ、'parent.relativePath' が間違ったローカル POM を指している
これは私のPOMです:
私が欠けているものについて何か考えはありますか?ありがとう
maven - 子 rpm から rpm を構築するように Maven の親 pom をセットアップする方法
複数の pom レイヤーを持つマイクロサービス プロジェクトがあります。「org.codehaus.mojo:rpm-maven-plugin:2.1.1」プラグインを使用して、各サービスのrpmを生成するようにセットアップしました。これらすべての rpm を必要な依存関係として 1 つの rpm を生成するようにセットアップする必要があります。
親 pom で、ソースを持たないが 2 つの rpm パッケージを必要とする設定を追加しました。同じ設定を親に追加すると失敗し、何が欠けているのかわかりません。
例: プロジェクト グループ --ProjectCommon --Project1 --Project2
したがって、ProjectCommon、Project1、および Project2 にはすべて、独自の rpm が生成され、pom および war とともにリポジトリにデプロイされます。Project1 と Project2 には共通のものが必要であり、それが機能します。私がやりたいのは、親 pom に同じものを入れて、子を必要とする rpm を構築することです。次に、各 rpm をインストールする代わりに、1 つの親 rpm をインストールして、他のすべてをプル/インストールします。
サービスをビジネス サービスとデータ アクセス サービスにグループ化したため、このレベルの上に 2 つのレベルの親 pom があることを付け加えておきます。次に、独自の pom を持つ gui/etc などの他のコンポーネントからサービスをグループ化しました。しかし、直接の親ポンで動作するようになれば、親でも動作するはずです。
親ポンに追加したものは次のとおりです。
これが子供の1人です:
エラーは次のとおりです。
[エラー] プロジェクト project-business-parent で目標 org.codehaus.mojo:rpm-maven-plugin:2.1.1:attached-rpm (attach-rpm) を実行できませんでした: RPM ビルドの実行が返されました: '1' 実行中 '/ bin/sh -c cd '/workspace/project-pom/services/business/target/rpm/project-business-parent/SPECS' && 'rpmbuild' '-bb' '--target' 'noarch-pc-linux' '--buildroot' '/workspace/project-pom/services/business/target/rpm/project-business-parent/buildroot' '--define' '_topdir /workspace/project-pom/services/business/target/rpm /project-business-parent''project-business-parent.spec'' -> [ヘルプ 1] org.apache.maven.lifecycle.LifecycleExecutionException: ゴール org.codehaus.mojo:rpm-maven-plugin:2.1 の実行に失敗しました.1: プロジェクト project-business-parent の attached-rpm (attach-rpm):RPM ビルドの実行が返されました: '/bin/sh -c cd '/workspace/project-pom/services/business/target/rpm/project-business-parent/SPECS' && 'rpmbuild' '-bb' ' を実行中の '1' ' --target' 'noarch-pc-linux' '--buildroot' '/workspace/project-pom/services/business/target/rpm/project-business-parent/buildroot' '--define' '_topdir /workspace/ project-pom/services/business/target/rpm/project-business-parent''project-business-parent.spec'' at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.内部。org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) の LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java: 183) org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) で org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) で org.apache.maven.DefaultMaven.execute (DefaultMaven.java:152) org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) で org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) で org.apache. maven.cli.MavenCli.main(MavenCli.java:158) の sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.org.codehaus.plexus.classworlds.launcher で java.lang.reflect.Method.invoke(Method.java:597) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で (NativeMethodAccessorImpl.java:39) を呼び出す.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java) :415) org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) で 原因: org.apache.maven.plugin.MojoExecutionException: RPM ビルド実行が返されました: '1' 実行中 '/bin/ sh -c cd '/workspace/project-pom/services/business/target/rpm/project-business-parent/SPECS' && 'rpmbuild' '-bb' '--target' 'noarch-pc-linux' '--buildroot' '/workspace/project-pom/services/business/target/rpm/project-business-parent/buildroot' '--define' '_topdir /workspace/project-pom/services /business/target/rpm/project-business-parent''project-business-parent.spec'' at org.codehaus.mojo.rpm.RPMHelper.buildPackage(RPMHelper.java:149) at org.codehaus.mojo.rpm .AbstractRPMMojo.execute(AbstractRPMMojo.java:633) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutorjava.java:208) ) ... 19 件以上_topdir /workspace/project-pom/services/business/target/rpm/project-business-parent''project-business-parent.spec'' at org.codehaus.mojo.rpm.RPMHelper.buildPackage(RPMHelper.java:149) ) org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) で org.apache.maven.lifecycle.internal. MojoExecutor.execute(MojoExecutor.java:208) ... 19 もっと見る_topdir /workspace/project-pom/services/business/target/rpm/project-business-parent''project-business-parent.spec'' at org.codehaus.mojo.rpm.RPMHelper.buildPackage(RPMHelper.java:149) ) org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) で org.apache.maven.lifecycle.internal. MojoExecutor.execute(MojoExecutor.java:208) ... 19 もっと見るapache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 19 もっと見るapache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 19 もっと見る
編集:「mvn -X install」でより詳細なエラーを追加しました。jdevelopさん、ありがとうございます!
maven-3 - 親POMは、モジュールバージョンで提供しているのと同じバージョンを使用しています
たとえば、マルチモジュールのmavenプロジェクトがあります
A B C D E 現在、このプロジェクトは正常に動作しており、すべてのモジュールをビルドし、たとえば 4.0.0- などのバージョンで成果物にアップロードする単一のジョブがあります。 Jenkinsの仕事です。私の次のタスクは、このプロジェクトをモジュールに分割して、開発チームが各モジュールを独立して構築できるようにすることですが、私の問題は、一部のモジュールが他のモジュールに依存していることです。
モジュール B はモジュール A とモジュール C に依存しています。最初にモジュール A をビルドすると、番号 4.0.0-00001 が生成され、アーティファクトにアップロードされます。次にモジュール C をビルドすると、ビルド 4.0.0 が生成されます。 -00005.ここで、モジュール A および C に依存するモジュール B をどのように構築できるかという問題が生じます。私の意見では、モジュール A および C のバージョンを依存関係セクションで明示的に定義する必要があります。
私のモジュールPOMから私は私の親POMを呼び出しています.Jenkinsの仕事ではバージョンを与えています.set -DnewVersion=4.0.0-${BUILD_NUMBER} Aモジュールのバージョンを明示的に定義している場合、バージョン管理の目的で値を親POMに追加し、利用できないものを検索します。以下は私のモジュールPOMファイルです
共通モジュールに割り当てた親POMと同じ値を取得しています。親POMを別のリポジトリに保持しています。同じ値を取得しないでください。親POMに定義している値のみを取得し、ダウンロードする必要があります。それらからそれを取得し、すべての値をモジュール POM に提供し、異なるバージョンのモジュール LicenseVerifier に対してビルドを作成する必要があります。