Pergunta

Como faço para criar um arquivo de guerra grails para que ele não tem o número da versão

(por exemplo. Foo-0.1.war)

anexado ao final, quando eu executar o comando 'grails guerra'?

Foi útil?

Solução

Eu acho que você pode especificar o nome de guerra no comando guerra.

grails war foo.war

Além disso, verifique a documentação mais recente Grails para onde definir isso como uma opção de configuração. Veja as outras respostas para mais detalhes.

Outras dicas

Em caso de alguém se depara com este artigo e está usando Grails 1.3.x, a opção de configuração foi alterada de grails.war.destFile em Config.groovy a ser grails.project.war.file em BuildConfig.groovy.

Além disso, o nome do arquivo é relativo ao espaço de trabalho do projeto, por isso deve ter um valor como:

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

Este é de acordo com o mais recente Grails documentação .

A partir da Grails Documentação , Capítulo 17, Implantação

Há também muitas maneiras em que você pode personalizar o arquivo WAR que é criada. Por exemplo, você pode especificar um caminho (absoluta ou relativa) para o comando que instrui-lo onde colocar o arquivo e qual nome dar-lhe:

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

Como alternativa, você pode adicionar uma linha para Config.groovy que muda o padrão localização e nome do arquivo:

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

É claro que qualquer argumento de linha de comando que você fornecer substitui essa configuração.

arregaçando as outras respostas excelentes. Existem várias opções:

explicitamente defini-lo na linha de comando: grails war foo.war

Defina a propriedade app.version para esvaziar em application.properties fará com que a guerra a ser chamado foo.war.

Explicitamente definir o nome da guerra usando a propriedade grails.war.destFile em Config.groovy

Grails 3.x mudou para Gradle e usa o href="https://docs.gradle.org/current/userguide/war_plugin.html" guerra plug-in . Você pode apenas especificar o nome como esta no arquivo build.gradle:

war {
    archiveName 'foo.war'
}

Outra forma de gerar arquivos de guerra sem número da versão é a de manter a propriedade, app.version , esvazie no application.properties

Eu sou tipo de tarde para a festa ... mas de qualquer maneira:

Eu acho que a razão por trás de remover o número da versão é eliminar a necessidade de mudar o nome do arquivo de guerra para que ele implanta em " correta " caminho do contexto / appName . Se for esse o caso, então a melhor opção é usar um nome de guerra de versões para que você possa implantar várias versões ao mesmo tempo no tomcat usando o seguinte padrão de nomenclatura em grails-app / conf / BuildConfig.groovy :

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

Como explicado na http: //tomcat.apache. org / tomcat-7.0-doc / config / Context.html # Parallel_deployment

Este método aplica-se a guerras em geral, não apenas as guerras Grails.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top