我想知道是否有一个工具可以创建我的 grails 项目的可演示版本。我可以在 CD 或 USB 记忆棒上分发的东西,它们可以在每个环境中运行。
什么东西
- 附带一个 shell 脚本来启动应用程序
- 搜索系统上的空闲服务器端口(如果 8080 已在使用中,则不会出现错误消息)
- 启动码头服务器
- 使用我的应用程序启动标准浏览器
有人知道这样的工具吗?
我想知道是否有一个工具可以创建我的 grails 项目的可演示版本。我可以在 CD 或 USB 记忆棒上分发的东西,它们可以在每个环境中运行。
什么东西
有人知道这样的工具吗?
查看独立插件,它可以更轻松地分发 Grails 应用程序的演示版本。
“ Standalone 插件构建了一个可运行的 JAR 文件,其中包含从您的应用程序构建的嵌入式战争和一个嵌入式 Tomcat 7 实例。这允许您构建一个单一的存档,该存档可以通过运行 java -jar Standalone在任何具有 Java 5 或更高版本的计算机上运行.jar。这对于演示甚至是非常轻量级的低流量 Grails 应用程序安装非常方便。”
独立插件的完整文档在这里
准备jar文件...
grails -Dgrails.env=demo build-standalone our_cool_demo.jar
要运行 Grails 应用程序(端口被指定为参数)...
java -jar /path/to/jar_name.jar cool_demo localhost 9000
更新:
实际上有 2 个 Grails 独立插件:
还有一些基于 Hudson 和 Winstone 项目的选项,但没有 Grails 插件。以下是一些包含更多信息的链接:使用 grails、maven 和 jetty 构建可执行战争,使用Jetty和Winstone的可执行战争
想到的最好的事情是在安装了 grails 的 USB 记忆棒上使用 Linux 发行版。您可以将应用程序导出为 WAR 文件,然后创建一个包含grails prod run-war
在启动时执行的脚本。最后,您可以使用以下命令打开 Firefoxfirefox localhost:port#/AppName
此选项的唯一缺点是您需要从摇杆启动,这会产生一些延迟时间。但是,优点是您只需要担心支持一个操作系统,启动时无需端口扫描和简单性。
Chris 提出的答案对我不起作用,但它为我提供了一个很好的起点:创建这样一个独立的应用程序似乎并不难:
而已。我想我会在找到更多时间时发布更多详细信息...