如何创建grails war文件,使其没有版本号

(例如foo-0.1.war)

当我执行'grails war'命令时,

附在最后?

有帮助吗?

解决方案

我认为您可以在war命令中指定战争名称。

grails war foo.war

另请查看最新的Grails文档,了解将其设置为配置选项的位置。有关详细信息,请参阅其他答案。

其他提示

如果有人发表这篇文章并使用Grails 1.3.x,配置选项已从 Config.groovy 中的 grails.war.destFile 更改为< BuildConfig.groovy 中的code> grails.project.war.file 。

此外,文件名相对于项目工作区,因此它应具有如下值:

<代码> grails.project.war.file =&quot; target / $ {appName} .war&quot;

这是根据最新的 Grails文档

Grails文档 第17章,部署

  

您还可以通过多种方式自定义WAR文件   创建。例如,您可以指定   路径(绝对路径或相对路径)   指示它在哪里的命令   放置文件和名称   给它:

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

或者,您可以添加一行   Config.groovy更改默认值   位置和文件名:

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

当然,任何命令行参数   你提供的覆盖了这一点   设置。

汇总其他优秀答案。有几种选择:

在命令行上明确设置: grails war foo.war

在application.properties中将 app.version 属性设置为空将导致war命名为 foo.war

使用Config.groovy中的 grails.war.destFile 属性显式设置战争名称

Grails 3.x已切换为gradle并使用 war 插件。您只需在 build.gradle 文件中指定如下名称:

war {
    archiveName 'foo.war'
}

生成没有版本号的war文件的另一种方法是在 application.properties

中保持属性 app.version 为空

我有点迟到了...但无论如何:

我认为删除版本号背后的原因是不需要重命名war文件,因此它部署在“ correct ”上。上下文路径 / appName 。如果是这种情况,那么更好的选择是使用版本化的war文件名,这样你就可以在tomcat上使用 grails-app / conf / BuildConfig.groovy 中的以下命名模式同时部署多个版本:

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

http://tomcat.apache中所述。组织/ Tomcat的7.0-DOC /配置/ context.html#Parallel_deployment

这种方法一般适用于战争,而不仅仅是grails'wars。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top