Domanda

Come posso creare un file di guerra grails in modo che non abbia il numero di versione

(ad esempio foo-0.1.war)

attaccato alla fine quando eseguo il comando 'grails war'?

È stato utile?

Soluzione

Penso che puoi specificare il nome di guerra nel comando di guerra.

grails war foo.war

Controlla anche la documentazione Grails più recente per sapere dove impostare questa opzione come configurazione. Vedi le altre risposte per i dettagli.

Altri suggerimenti

Nel caso in cui qualcuno trovi questo articolo e stia usando Grails 1.3.x, l'opzione di configurazione è cambiata da grails.war.destFile in Config.groovy a < code> grails.project.war.file in BuildConfig.groovy .

Anche il nome del file è relativo all'area di lavoro del progetto, quindi dovrebbe avere un valore come:

grails.project.war.file = " target / $ {nome app} .war "

Questo è secondo l'ultima documentazione Grails .

Dalla Documentazione Grails , Capitolo 17, Distribuzione

  

Esistono anche molti modi in cui è possibile personalizzare il file WAR che è   creato. Ad esempio, è possibile specificare   un percorso (assoluto o relativo)   al comando che lo indica dove   per posizionare il file e il nome a   dare:

grails war /opt/java/tomcat-5.5.24/foobar.war
     

In alternativa, puoi aggiungere una riga a   Config.groovy che modifica l'impostazione predefinita   posizione e nome file:

grails.war.destFile = "foobar-prod.war"
     

Ovviamente, qualsiasi argomento della riga di comando   che fornite sostituisce questo   impostazione.

Arrotolando le altre risposte eccellenti. Esistono diverse opzioni:

Impostalo esplicitamente sulla riga di comando: grails war foo.war

Imposta la proprietà app.version su vuoto in application.properties causerà il nome della guerra foo.war .

Imposta esplicitamente il nome della guerra usando la proprietà grails.war.destFile in Config.groovy

Grails 3.x è passato a gradle e utilizza il plug-in war . Puoi semplicemente specificare un nome come questo nel file build.gradle :

war {
    archiveName 'foo.war'
}

Un altro modo per generare file di guerra senza numero di versione è quello di mantenere la proprietà app.version , vuota in application.properties

Sono in ritardo alla festa ... ma comunque:

Penso che il motivo dietro la rimozione del numero di versione sia quello di eliminare la necessità di rinominare il file di guerra in modo che venga distribuito su " corretto " percorso di contesto / appName . In tal caso, un'opzione migliore è quella di utilizzare un nome file di guerra con versione in modo da poter distribuire più versioni contemporaneamente su tomcat utilizzando il seguente modello di denominazione in grails-app / conf / BuildConfig.groovy :

grails.project.war.file = "target/${appName}##${appVersion}.war"

Come spiegato in http: //tomcat.apache. org / tomcat-7.0-doc / config / context.html # Parallel_deployment

Questo metodo si applica alle guerre in generale, non solo alle guerre dei graal.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top