grails 可执行Jar

示例

部署 Grails3.xis 以构建可执行jar文件,是最简单方法之一,该文件将servlet容器(Tomcat、Undertow等)嵌入到应用程序中。

修改build.gradle:

// 删除或注释掉war插件:
// apply plugin:"war"

// 启用可执行jar:
springBoot {
    executable = true
}

// 可选:自定义jar属性:
//  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

它也表现得像一个初始化服务:

$ 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