Erstellen grails Krieg ohne Versionsnummer
-
03-07-2019 - |
Frage
Wie kann ich eine Grails WAR-Datei erstellen, so dass es nicht die Versionsnummer hat
(z. Foo-0.1.war)
bis zum Ende angebracht, wenn ich den ‚Grails Krieges‘ Befehl ausführen?
Lösung
ich glaube, Sie den Krieg Namen im Krieg Befehl angeben können.
grails war foo.war
Überprüfen Sie auch die neueste Grails-Dokumentation, wo als Konfigurationsoption setzen diese. Die anderen Antworten für Details.
Andere Tipps
Falls jemand kommt auf diesen Artikel und wird mit Grails 1.3.x hat die Konfigurationsoption von grails.war.destFile
in Config.groovy
geändert grails.project.war.file
in BuildConfig.groovy
zu sein.
Auch ist der Dateiname auf den Projektarbeitsbereich relativ, so sollte es einen Wert wie hat:
grails.project.war.file = "target/${appName}.war"
Dies ist nach dem neuesten Stand Grails Dokumentation .
Von der Grails Dokumentation , Kapitel 17, Deployment
Es gibt auch viele Möglichkeiten, in denen Sie die WAR-Datei anpassen, das ist erstellt. Zum Beispiel können Sie festlegen, ein Pfad (entweder absolut oder relativ) auf den Befehl, die es anweist, in denen um die Datei zu platzieren und welche Namen geben sie:
grails war /opt/java/tomcat-5.5.24/foobar.war
Alternativ können Sie eine Zeile in Config.groovy, die den Standard ändern Speicherort und Dateinamen:
grails.war.destFile = "foobar-prod.war"
Natürlich kann jedes Befehlszeilenargument dass Sie bieten überschreibt diese Einstellung.
die anderen ausgezeichneten Antworten Aufrollen. Es gibt mehrere Möglichkeiten:
Explizit stellt es auf der Kommandozeile: grails war foo.war
Stellen Sie die app.version
Eigenschaft in application.properties leeren wird der Krieg verursachen namentlich genannt werden foo.war
.
gesetzt Explizit den Namen des Krieges mit der grails.war.destFile
Eigenschaft in Config.groovy
Grails 3.x wurde auf Gradle geschaltet und verwendet das Krieg Plugin . Sie können nur Namen wie dies in der build.gradle
-Datei angeben:
war {
archiveName 'foo.war'
}
Eine andere Möglichkeit, den Krieg Dateien ohne Versionsnummer zu erzeugen, ist die Eigenschaft zu halten, app.version , leer in der application.properties
Ich bin ein bisschen spät zur Party ... aber trotzdem:
Ich denke, der Grund für das Entfernen der Versionsnummer ist die Notwendigkeit zu beseitigen, den Krieg Datei umbenennen, damit es setzt auf „ richtig “ Kontextpfad / appName . Wenn das der Fall ist dann eine bessere Option ist einen versioniert Krieg Dateinamen zu verwenden, so dass Sie mehrere Versionen gleichzeitig auf Kater mit dem folgende Namensmuster in Grails-app / conf / BuildConfig.groovy bereitstellen können:
grails.project.war.file = "target/${appName}##${appVersion}.war"
Wie in http: //tomcat.apache. org / tomcat-7.0-doc / config / context.html # Parallel_deployment
Diese Methode gilt für Kriege in der Regel nicht nur Grails' Kriege.