1

Maven開発にとツールを使用してm2eいますが、今日問題が発生しました。

私たちのプロジェクトの 1 つは、他のプロジェクトに必要な小さなライブラリであるため、それを jar ファイルにパッケージ化し、プライベートMavenリポジトリに配置しました。

今のところ、このリポジトリに配置したすべての jar には外部依存関係はありませんが、私が言及したこのライブラリはいくつかの外部 jar を使用しています。

ここで、この jar に関する情報を他の pom に追加すると、この jar はプライベート リポジトリからダウンロードされますが、Maven はこの jar に必要な依存関係をダウンロードしません。

このアーティファクトに必要な依存関係に関する情報を含めるpom.xmlように通知する、特別なターゲットを使用する/ファイルに何かを追加する必要があるかどうか疑問に思っています。Maven

編集: jar をプライベート リポジトリにアップロードするときに実行するワークフローは次のとおりです。

Eclipse1.使用してjarファイルを生成しますm2e

2.mvn install:install-file -DgroupId=<your_group_name> -DartifactId=<your_artifact_name> -Dversion=<snapshot> -Dfile=<path_to_your_jar_file> -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

3.ローカル リポジトリに作成したフォルダをリモート リポジトリにコピーします

4

3 に答える 3

3

-DgeneratePom=truejarファイルのインストール中に使用しているようです。あなたがする必要があるのpom.xmlはあなたのアーティファクトのためにを作成することです。pom.xmlで、jarファイルに必要な依存関係を指定できます。install:installプラグインの目標を実行するときは、-DpomFile=pom.xml代わりにを使用します。

于 2013-03-20T15:01:08.560 に答える
3

あなたが述べているように、小さなライブラリがmavenプロジェクトである場合、Eclipseでjarをビルドし、mavenを使用してインストールし、リモートリポジトリに手動でコピーする必要はありません。代わりに、m2e を使用して deploy ゴールを実行する必要があります。

mvn deploy

これにより、jar がビルドされ、ローカルの Maven リポジトリに直接インストールされ、リモート リポジトリにデプロイされます。

Eclipse では、これはプロジェクトを右クリックRun As -> Maven Build...し、実行構成ウィンドウでGoals入力タイプを選択してから をdeployクリックすることで実行できますRun。これが一度行われた後はRun As -> Maven Build、同じ構成を再度実行するために使用できます。

于 2013-03-20T15:03:53.523 に答える
2

これを行う最良の方法は、実行することですmvn deploy

settings.xml で、ディストリビューション リポジトリをプライベート アーティファクト マネージャー (nexus または artifactory) にセットアップする必要があります。

詳細については、これを参照してください

于 2013-03-20T15:08:32.960 に答える