Penggunaan file-deploy maven
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
Saya biasanya menggunakan deploy:deploy-file
baris 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 a
dan g
di 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/"
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.