Penggunaan file-deploy maven

Aug 20 2020

Membaca dokumen. dari deploy:deploy-file(https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html), tampaknya satu-satunya parameter yang diperlukan adalah Parameter yang Diperlukan <file>, <repositoryId> and <url>, namun saat saya menjalankan:

mvn deploy:deploy-file -Durl={url} -DrepositoryId={repoId} -Dfile=D:\Users\nunito\IdeaProjects\calzada\target\calzada.zip

Saya mendapat kesalahan ini:

[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.

Jawaban

3 VonC Aug 22 2020 at 14:42

Saya biasanya menggunakan deploy:deploy-filebaris perintah, ketika saya memiliki artefak pihak ketiga tanpa 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/"

Yang perlu Anda lakukan hanyalah memodifikasi adan gdi awal perintah.

Anda dapat menambahkan versi v jika Anda memiliki versi tertentu, dan meletakkannya di bagian rilis Nexus Anda:

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

Halaman "Penggunaan" plugin (https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) menyatakan:

Jika informasi yang diperlukan berikut ini tidak ditentukan dengan cara tertentu, tujuan akan gagal:

  • file artefak untuk diterapkan
  • grup, artefak, versi, dan pengemasan file yang akan diterapkan. Ini dapat diambil dari pomFile yang ditentukan, dan diganti atau ditentukan menggunakan baris perintah. Jika pomFile berisi bagian induk, groupId induk dapat dipertimbangkan jika groupId tidak ditentukan lebih lanjut untuk proyek saat ini atau pada baris perintah.
  • informasi repositori: url yang akan digunakan dan pemetaan repositoryId ke bagian server di file settings.xml. Jika Anda tidak menentukan repositoryId, Maven akan mencoba mengekstrak informasi otentikasi menggunakan id 'remote-repository'.

Jadi, Anda perlu menentukan koordinat atau memberikan file POM.