在grails 3.0。(1,2,3)中,war
文件存在于文件夹' build / libs'
但是,我想用不同的文件后缀重命名战争名称,比如" app.tar.gz",没有版本。
google结果全部是关于grails 2.x
我将grails.project.war.file = "target/${appName}.tar.gz"
放在文件夹conf下的application.groovy
文件中,但它没用。
Plz帮助我,我用Google搜索并尝试在源代码BuildSettings.groovy
中找到解决方案,但它没有用。
答案 0 :(得分:2)
从Grails版本3开始,构建工具是gradle,您需要从build.gradle文件中更改这些参数
如果您不希望将版本作为软件包名称的一部分,则需要在build.gradle文件中注释(或删除)该版本
例如,运行以下
fhenri@machine:~/project/grails/sample307$ grails -version
| Grails Version: 3.0.7
| Groovy Version: 2.4.4
| JVM Version: 1.8.0_51
fhenri@machine:~/project/grails/sample307$ grails package
...
fhenri@machine:~/project/grails/sample307$ find . -name *.war
./build/libs/sample-0.1.war
After you remove the version from `build.gradle` file
fhenri@machine:~/project/grails/sample307$ grails package
...
fhenri@machine:~/project/grails/sample307$ find . -name *.war
./build/libs/sample.war
Grails使用war gradle plugin,从插件中使用模式使归档名称为[baseName]-[appendix]-[version]-[classifier].[extension]
,该版本已经来自build.gradle
生成的grails create-app
文件/ p>
每个都可以在war闭包中覆盖,例如,build.gradle的摘录可能是
version "0.1"
war {
appendix "so-test"
version "1.0"
}
生成的war文件将是sample-so-test-1.0.war
版本将来自war闭包。
因此,如果您想保留邮件version
属性但又不想在生成的战争名称中生成版本,则可以使用空值覆盖该属性
version "0.1"
war {
version ""
}
会生成一个没有版本信息的war文件,但是如果你想在其他地方使用它,你仍然可以保留它。
要打包为tar / zip,你可以 请遵循grails 3的文档:http://grails.github.io/grails-doc/latest/guide/deployment.html(关于TAR / ZIP分发的章节)
答案 1 :(得分:0)
在build.gradle中,应用gradle war插件后,您可以执行以下操作:
cbind(x, c(x[-1], x[1]))
将在build / libs
创建一个ROOT.war文件