2

現在、独自のリポジトリはありません。したがって、mavenを使用してビルドすると、現在のユーザーのホームディレクトリに.m2リポジトリが作成されます。

現在、MavenCentralにはない2つのサードパーティ製のjarファイルがあります。それらの1つがhasp-srm-api.jarであるとします。今日のプロセスは次のとおりです。

a。hasp-srm-api.jarに依存するプロジェクトのpom.xmlには、次の行が含まれています。

    <依存関係>
      <groupId> com.safenet </ groupId>
      <artifactId> hasp </ ArtifactId>
      <バージョン>1</ version>
    </依存関係>

b。最初のビルドを実行する前に、次のコマンドを実行します。

    mvn install:install-file -Dfile = hasp-srm-api.jar -DgroupId = com.safenet -DartifactId = hasp -Dversion = 1 -Dpackaging = jar

私の質問はこれです-このステップを自動化することは可能ですか?haspアーティファクトが存在するかどうかを確認するようにMavenに指示し、存在しない場合は、前述のコマンドラインを使用して手動でインストールできるようにしたいと思います。どうすればいいですか?

4

3 に答える 3

4

番号。あなたが提案する方法でmavenにアーティファクトをリポジトリに自動的にデプロイさせることはできません。これは、ローカル リポジトリとリモート リポジトリの両方に当てはまります。アーティファクトがどこかのリポジトリに存在する場合、そのリポジトリをビルドの既知のリモート リポジトリのリストに追加できますが、それ以外は自分で追加する必要があります。

ローカルの .m2 リポジトリに追加できますが、それはその個々の環境にのみ適しています。他の開発者はこのプロセスを繰り返す必要があります。これは、独自のリポジトリ サーバー ( Nexus など) を実行する主な魅力の 1 つです。アーティファクトをそのリポジトリに追加すると、組織内の誰もがそれを永久に使用できます。アーティファクトの展開を自動化する方法はまだありませんが、簡単に実行でき、永続的です。

リポジトリ マネージャの設定は非常に簡単です。強くお勧めします。これにより、Maven 全体がより意味のあるものになります。

于 2013-01-08T16:01:56.993 に答える
0

このような問題の最善の解決策は、リポジトリ マネージャーを使用することです。これにより、そのような種類の依存関係がリポジトリ マネージャーに 1 回だけインストールされ、会社全体で通常の依存関係として使用できるようになります。それでおしまい。

于 2013-01-08T15:04:02.967 に答える
0

あなたが持っている他のオプションは、独自のmavenプラグインを書くことです. リンクの下にあるかもしれませんが、あなたが始めるのに適した場所になります

MOJO よくある質問

于 2015-05-04T11:28:44.980 に答える