Mavenデプロイファイルの使用法
Aug 20 2020
ドキュメントを読む。のdeploy:deploy-file
(https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html)、必要なパラメータは必須パラメータだけのようですが、<file>, <repositoryId> and <url>
実行すると:
mvn deploy:deploy-file -Durl={url} -DrepositoryId={repoId} -Dfile=D:\Users\nunito\IdeaProjects\calzada\target\calzada.zip
このエラーが発生しました:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file (default-cli) on project oib-kw-guards-web: The artifact i
nformation is incomplete or not valid:
[ERROR] [0] 'groupId' is missing.
[ERROR] [1] 'artifactId' is missing.
[ERROR] [2] 'version' is missing.
回答
3 VonC Aug 22 2020 at 14:42
deploy:deploy-file
サードパーティのアーティファクトがない場合、通常はコマンドラインで使用しますpom.xml
。
cmd /v /c "set a=an-artifact-name&& set g=com.company.xxx&& \
mvn deploy:deploy-file -Dfile=C:\path\to\!a!.jar -Dpackaging=jar -DgroupId=!g! -DartifactId=!a! \
-Dversion=1.0-DEV-SNAPSHOT -DrepositoryId=nexus \
-Durl=http://company.com/nexus/content/repositories/company-snapshots/"
あなたがやらなければならないことは、変更することですa
し、g
コマンドの先頭に。
特定のバージョンがある場合は、バージョンvを追加して、Nexusのリリース部分に配置できます。
cmd /v /c "set a=an-artifact-name&& set g=com.company.xxx&& && set v=1.2.3&& \
mvn deploy:deploy-file -Dfile=C:\path\to\!a!.jar -Dpackaging=jar -DgroupId=!g! -DartifactId=!a! \
-Dversion=!v! -DrepositoryId=nexus \
-Durl=http://company.com/nexus/content/repositories/company-releases/"
2 JFabianMeier Aug 25 2020 at 15:00
プラグインの「使用法」ページ(https://maven.apache.org/plugins/maven-deploy-plugin/usage.html)状態:
次の必要な情報が何らかの方法で指定されていない場合、目標は失敗します。
- デプロイするアーティファクトファイル
- デプロイするファイルのグループ、アーティファクト、バージョン、およびパッケージ。これらは、指定されたpomFileから取得し、コマンドラインを使用してオーバーライドまたは指定できます。pomFileに親セクションが含まれている場合、現在のプロジェクトまたはコマンドラインでgroupIdがさらに指定されていなければ、親のgroupIdを考慮することができます。
- リポジトリ情報:デプロイ先のURLとsettings.xmlファイルのサーバーセクションへのrepositoryIdマッピング。repositoryIdを指定しない場合、MavenはID'remote-repository 'を使用して認証情報を抽出しようとします。
したがって、座標を指定するか、POMファイルを指定する必要があります。