Question

Comment créer un fichier de guerre de Grails afin qu'il ne possède pas le numéro de version

(par exemple, foo-0.1.war)

attaché à la fin lorsque j'exécute la commande 'guerre de Grails'?

Était-ce utile?

La solution

Je pense que vous pouvez spécifier le nom de la guerre dans le commandement de la guerre.

grails war foo.war

Consultez également la dernière documentation Grails pour savoir où définir cette option en tant qu'option de configuration. Voir les autres réponses pour plus de détails.

Autres conseils

Si quelqu'un découvre cet article et utilise Grails 1.3.x, l'option de configuration est passée de grails.war.destFile dans Config.groovy et devient < code> grails.project.war.file dans BuildConfig.groovy .

De plus, le nom du fichier est relatif à l'espace de travail du projet. Il doit donc avoir une valeur telle que:

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

Selon la dernière documentation Grails .

Extrait de la Documentation Grails , Chapitre 17, Déploiement

  

Il existe également de nombreuses façons de personnaliser le fichier WAR.   créé. Par exemple, vous pouvez spécifier   un chemin (absolu ou relatif)   à la commande qui indique où   pour placer le fichier et quel nom   donnez-le:

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

Vous pouvez également ajouter une ligne à   Config.groovy qui change la valeur par défaut   emplacement et nom de fichier:

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

Bien sûr, tout argument de ligne de commande   que vous fournissez annule cette   réglage.

Cumuler les autres excellentes réponses. Il y a plusieurs options:

Définissez-le explicitement sur la ligne de commande: grails war foo.war

Définissez la propriété app.version sur vide dans application.properties. La guerre sera nommée foo.war .

Définissez explicitement le nom de la guerre à l'aide de la propriété grails.war.destFile dans Config.groovy

Grails 3.x est passé à gradle et utilise le plug-in war . . Vous pouvez simplement spécifier un nom comme celui-ci dans le fichier build.gradle :

war {
    archiveName 'foo.war'
}

Une autre façon de générer des fichiers war sans numéro de version consiste à conserver la propriété, app.version , vide dans le application.properties

.

Je suis un peu en retard à la fête ... mais quand même:

Je pense que la suppression du numéro de version a pour but de supprimer le besoin de renommer le fichier war afin qu'il soit déployé sur " correct ". chemin de contexte / appName . Si tel est le cas, une meilleure option consiste à utiliser un nom de fichier war avec version afin de pouvoir déployer plusieurs versions simultanément sur tomcat en utilisant le modèle d'attribution de nom suivant dans grails-app / conf / BuildConfig.groovy :

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

Comme expliqué dans http: //tomcat.apache. org / tomcat-7.0-doc / config / context.html # déploiement parallèle_

Cette méthode s’applique aux guerres en général et pas seulement aux guerres de Grail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top