7

Maven Central リポジトリーで見つからない jar ファイルがあります。pom.xmljar を追加して、ファイルに追加のタグを含めるだけで、他の開発者がその jar を使用できるようにしたいと考えています。jar を http webserver webfolder にアップロードするために必要な手順は何ですか? の横にどのファイルをアップロードすればよいcustom.jarですか? と並んで webfolder に存在する必要がある他のファイルは何custom.jarですか?

4

3 に答える 3

8

Web フォルダーを指す Web サーバーを既にセットアップしている場合、カスタム JAR をデプロイする簡単な方法はdeploy:deploy-fileMojo を使用することです。Maven Deploy Pluginの使用法ページに記載されているとおり:

mojo は、deploy:deploy-fileMaven によってビルドされていない成果物をデプロイするために主に使用されます。プロジェクトの開発チームは、アーティファクトの POM を提供する場合と提供しない場合があります。場合によっては、アーティファクトを内部のリモート リポジトリにデプロイすることもできます。deploy-file mojo は、これらすべてのユースケースをカバーする機能を提供し、オンザフライで POM を生成するための幅広い構成可能性を提供します。さらに、リポジトリが使用するレイアウトを指定できます。deploy-file mojo の完全な使用法ステートメントは、次のように記述できます。

mvn deploy:deploy-file -Durl=file://C:\m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=your-artifact-1.0.jar \
                       [-DpomFile=your-pom.xml] \
                       [-DgroupId=org.some.group] \
                       [-DartifactId=your-artifact] \
                       [-Dversion=1.0] \
                       [-Dpackaging=jar] \
                       [-Dclassifier=test] \
                       [-DgeneratePom=true] \
                       [-DgeneratePom.description="My Project Description"] \
                       [-DrepositoryLayout=legacy] \
                       [-DuniqueVersion=false]

最初の 3 つのパラメーターのみが必須です (短いバージョン)。repositoryIdが何であるか疑問に思っている場合は、Mojo のドキュメントに次のように記載されています。

のセクションの<id>下にマップするサーバー IDほとんどの場合、このパラメーターは認証に必要です。デフォルト値は次のとおりです: リモートリポジトリ。<server>settings.xml

つまり、これを使用する最も簡単な方法は、Web サーバーをホストしているマシンにカスタム JAR をコピーしfile://、URL を指定するときにプロトコルを使用することです。追加のセットアップは必要ありません。リモートで展開する場合scp://は、多くの場合、これが優先されるプロトコルです (他にもありますが、これはセットアップが非常に簡単です)。以下、scp を使用した例:

mvn deploy:deploy-file -DgroupId=my.group -DartifactId=myartifact -Dversion=1.0 \
  -DgeneratePom=true \
  -Dpackaging=jar \
  -Dfile=custom.jar \
  -DrepositoryId=some.id \
  -Durl=scp://REMOTEMACHINE/PATH/TO/WEB_ROOT/maven2_repository

実際、Web サーバーを使用して独自の Maven リポジトリをホストすることはまったく問題ありませんが、初期化が少し面倒な場合があります。この問題を解決する 1 つの解決策は、Maven リポジトリだけでなく、Maven プロキシ ( Nexusなど) を使用することです。しかし、これはあなたの質問を超えています。

これに関するその他のリソースについては、次を確認してください (実装ソリューションが少し古くなっている場合でも、原則は有効です)。

于 2009-12-16T21:20:28.747 に答える
1

できれば、ローカルの Maven リポジトリが必要です。これに対する 1 つのオプションは、Nexusです

または、自分だけで作業している場合は、オーバーヘッドを節約して、jar ファイルをマシンのリポジトリ (home/.m2/repository適切なフォルダーの下) に置くことができます。

于 2009-12-16T07:21:57.020 に答える
1

次のコマンドは、jar をローカル リポジトリにインストールするのに役立ちます。この後、jar を含むフォルダーをローカルからリモート リポジトリにアップロードできます。

mvn install:install-file \
  -DgroupId=com.name \
  -DartifactId=aaaa-bc \
  -Dversion=1.0 \
  -Dpackaging=jar \
  -Dfile=aaaa-bc.jar \
  -DcreateChecksum=true
于 2009-12-16T07:54:37.750 に答える