可执行的罐子
部署 Grails 3.x 的最简单方法之一是构建一个可执行 jar 文件,该文件将 servlet 容器(Tomcat,Undertow 等)嵌入到应用程序中。
修改 build.gradle
:
// Remove or comment out the war plugin:
// apply plugin:"war"
// Enable the executable jar:
springBoot {
executable = true
}
// Optional: Customize the jar properties:
// https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html
jar {
archiveName('myapp.jar')
}
使用 ./gradlew assemble
构建
结果 jar 现在是一个可以启动的完全可执行的应用程序:
$ head build/libs/myapp.jar
#!/bin/bash
#
# . ____ _ __ _ _
# /\\ / ___'_ __ _ `_(_)`_ __ __ _ \ \ \ \
# ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
# \\/ ___)| |_)| | | | | || (_| | ) ) ) )
# ' |____| .__|_| |_|_| |_\__, | / / / /
# =========|_|==============|___/=/_/_/_/
# :: Spring Boot Startup Script ::
#
你可以像通常的任何命令行应用程序一样启动它:
$ ./build/libs/myapp.jar
Grails application running at http://localhost:8080 in environment: production
它的行为类似于 init 服务:
$ ln -s /opt/myapp/myapp.jar /etc/init.d/myapp
$ service myapp [start|stop|status|restart]
详细文档在 spring-boot 文档下: http : //docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html