Maven deploy-file kullanımı
Doktoru okuyorum. of the deploy:deploy-file(https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html), öyle görünüyor ki gerekli tek parametreler Gerekli Parametreler <file>, <repositoryId> and <url>, yine de çalıştırdığımda:
mvn deploy:deploy-file -Durl={url} -DrepositoryId={repoId} -Dfile=D:\Users\nunito\IdeaProjects\calzada\target\calzada.zip
Bu hatayı aldım:
[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.
Yanıtlar
Genelde deploy:deploy-filekomut satırında, aşağıdakileri olmayan bir 3. taraf yapısına sahip olduğumda kullanırım 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/"
Yapmanız gereken tek şey, komutu değiştirmek ave gkomutun başında.
Belirli bir sürüme sahipseniz bir sürüm v ekleyebilir ve bunu Nexus'unuzun yayın bölümüne koyabilirsiniz:
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/"
Eklentinin "Kullanım" sayfası (https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) devletler:
Aşağıdaki gerekli bilgiler bir şekilde belirtilmezse, hedef başarısız olur:
- dağıtılacak yapı dosyası
- dağıtılacak dosyanın grubu, yapısı, sürümü ve paketlemesi. Bunlar belirtilen pomFile dosyasından alınabilir ve geçersiz kılınabilir veya komut satırı kullanılarak belirtilebilir. PomFile bir üst bölüm içerdiğinde, groupId mevcut proje için veya komut satırında daha fazla belirtilmezse, ebeveynin groupId'si dikkate alınabilir.
- depo bilgisi: konuşlandırılacak url ve settings.xml dosyasındaki bir sunucu bölümüne repositoryId eşlemesi. Bir repositoryId belirtmezseniz, Maven 'remote-repository' kimliğini kullanarak kimlik doğrulama bilgilerini çıkarmaya çalışır.
Yani ya koordinatları belirlemeniz ya da bir POM dosyası vermeniz gerekiyor.