2016-06-30 12 views
3

Ich versuche, Signaturdateien separat mit deploy-file Ziel Nexus Staging-Repository zu implementieren, aber ich habe festgestellt, dass mvn deploy-Plugin die Erweiterung entfernt. Meine Datei ist so etwas wie: azerty-0.1.jar.ascMaven deploy: deploy-Datei entfernt Erweiterung aus Datei

aber die Datei, die bereitgestellt wird ist: azerty-0.1.asc

ich Zugabe versucht, einen Klassifikator: -Dclassifier=jar

die Datei, die eingesetzt wird ist: azerty-0.1-jar.asc

Dies scheint ein seltsames Verhalten.

Frage: Irgendwelche Ideen, wie man es umgeht?

Antwort

3

Dies ist eher ein normales Verhalten, wird unter Verwendung von Maven die Dateierweiterung als Artefakt packaging, von maven-deploy-plugin, deploy-file, packaging Option:

Art des Artefakts eingesetzt werden. Wird vom Element <packaging> der POM-Datei abgerufen, wenn eine POM-Datei angegeben wurde. Standardmäßig wird die Dateierweiterung verwendet, wenn sie nicht über die Befehlszeile oder POM angegeben wird.

Hinweis: Fett ist meins.

Darüber hinaus würde die classifier Option tatsächlich eine zwischen der Version und der Zeichenfolge als Klassifikator hinzugefügt: das ist maven convention.

In Ihrem Fall sollten Sie eine spezielle packaging angeben, die jar.asc wäre, wenn Sie wirklich die Remote-Datei jar.asc als Erweiterung haben wollen.

Die folgende würde daher arbeiten:

mvn deploy:deploy-file -Dfile=azerty-0.1.jar.asc -Dpackaging=jar.asc -DrepositoryId=your_id -Durl=http://your_repository -DgroupId=your_groupId -DartifactId=azerty -Dversion=0.1 

Notiere die -Dpackaging=jar.asc die Maven die Dateierweiterung wirksam erzählt würde jar.asc sein.


Als allgemeine Anmerkung, wenn Sie das Repository als Build-Speicher verwenden, das wäre noch sinnvoll, sonst in Ihrem Fall Sie einen Artefakt zu einem Maven Repository, das schwierig sein würde, dann schieben würden (oder eher seltsam) in ein Projekt zu importieren.

Wenn stattdessen das wirklich eine zusätzliche Artefakt des Projektes ist, erhalten Sie bei attach-artifact Ziel der build-helper-maven-plugin, um wirksam zu definieren es als zusätzlicher Artefakt aussehen sollen, dann wird Maven automatisch fügen Sie ihn in seine install und deploy Phase.

+0

Es funktioniert. Danke vielmals –