maven-deploy-Artefakt-Datei-name
Hi : Im Befund, dass maven setzt standardmäßig ändern Sie den Dateinamen entsprechend der version+Artefakt-id. Zum Beispiel
Bereitstellung einer jar-Datei, mit Artefakt=A und version=V - -0,1 Ergebnis in eine jar-Datei namens AV-0.1.jar.
Gibt es eine Möglichkeit, ändern Sie die Standard-Namen der jar-Datei in der Implementierung, so dass es nicht verketten diese feilds anzugeben oder um die letzten bereitgestellte jar-name explizit?
- Möglich, Duplikat der this Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Komplexe Antwort: ja
Ist es ein bisschen schwierig, und Sie müssen vorsichtig sein, da die pom nicht sofort neu geschrieben. Also nur die remote-maven-repository (artifactory oder nexus), wird es in der richtigen Ordner-Struktur.
Wenn Sie überschreiben das deploy-Datei Ziel in der maven-deploy-Ziel, können Sie überschreiben die Parameter: http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
Einem Beispiel, das würde immer nach der version 4.5.1 zu nexus würde wie folgt Aussehen:
(und bevor jemand fragt, einen Grund, so etwas zu tun, ist zu machen, baut mehr CI-freundlich. in der CI ist alles nur eine build-Nummer, es ist nicht wirklich ein "build-a-release", jeder Check hat ergeben eine Serienreife Artefakt. Also durch das ersetzen 4.5.1 mit
${BUILD_NUMBER}
verlassen Sie mit vielen, vielen Veröffentlichungen in Ihrem Artefakt, Lagerung ...)maven-shade-plugin
. Jetzt habe ich zwei Dateien bereitstellen, um mein Ziel-system: Den alten mit dem timestamp und der neue kommt aus Ihrer Lösung da oben ^^shadedArtifactAttached
undshadedClassifierName
Optionen des maven shade plugin kann Ihnen dabei helfen. Siehe dieses Beispiel: maven.apache.org/plugins/maven-shade-plugin/examples/...Mit curl-Kommandozeilen-es scheint möglich zu ernähren Nexus mit, was Sie wollen.
Für mich ist es perfekt funktionierte. Was ist großartig ist, dass es funktioniert, ohne pom.xml.
Update: diese Antwort könnte nützlich sein für den, der sucht, wie bypass-Maven-Konzept und die Bereitstellung einer beliebigen Datei mit dem Namen Nexus. Wenn die Frage ist, wie man es namentlich Maven, dann wäre ich einverstanden mit der Antwort "Nicht möglich".
Einfache Antwort darauf ist: Nein.
Das problem dahinter ist, wenn Sie würden ändern Sie die Benennung schema wird es nicht möglich sein, finden Sie Artefakte in einem repository. Das ist der Grund, mit einem festen Namensschema.
Der obige Befehl wird die Datei in die folgende Struktur.
Wenn Sie wollen einfach nur, um den Namen der erstellten Datei anders zwischen aufeinanderfolgenden schiebt die artifactory, das Sie verwenden können-Dpackaging parameter. dh. Setzen Sie den Wert auf den aktuellen timestamp