创建没有版本号的grails war

28 grails

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

(例如foo-0.1.war)

当我执行'grails war'命令时附加到最后?

Phu*_*ong 41

如果任何人遇到这篇文章并使用Grails 1.3.x,配置选项已从grails.war.destFilein Config.groovy变为grails.project.war.filein BuildConfig.groovy.

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

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

这是根据最新的Grails文档.


Ins*_*oup 34

我想你可以在war命令中指定war名称.

grails war foo.war
Run Code Online (Sandbox Code Playgroud)

另请查看最新的Grails文档,了解将其设置为配置选项的位置.请参阅其他答案了解详情.

  • 旁注:在执行此操作时,默认情况下,WAR文件不会像人们期望的那样编译到`target`目录,而是编译到项目目录中.但是,您也可以指定路径,请参阅http://grails.org/doc/2.2.1/ref/Command%20Line/war.html (3认同)
  • 这在grails 3.3.2中不起作用 (2认同)

Ken*_*tle 10

Grails文档,第17章,部署

您还可以通过多种方式自定义创建的WAR文件.例如,您可以指定命令的路径(绝对路径或相对路径),该路径指示放置文件的位置以及为其提供的名称:

grails war /opt/java/tomcat-5.5.24/foobar.war
Run Code Online (Sandbox Code Playgroud)

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

grails.war.destFile = "foobar-prod.war"
Run Code Online (Sandbox Code Playgroud)

当然,您提供的任何命令行参数都会覆盖此设置.

  • 这实际上是更好的答案 (2认同)

小智 5

滚动其他优秀的答案.有几种选择:

在命令行上显式设置: grails war foo.war

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

使用grails.war.destFileConfig.groovy中的属性显式设置war的名称