Grails可以使用很多种方式来部署,每一种都有它的缺点和优点.
"grails run-app"
现在,你已经非常属性这个方式 , 因为它是在部署阶段运行应用程序非常普通的方法.
内置的Jetty服务器被启动并加载来自开发时的应用程序源代码, 因此,允许获取应用程序文件的改变.
这种方式在产品部署时不被推荐,因为性能非常差。 检查和加载改变在服务器端是非常大的开销. 话虽如此,
grails prod run-app
移除每次请求开支并允许你控制进行定期检查的频率.
设置系统属性"disable.auto.recompile" 为true
彻底禁止常规检查
,属性"recompile.frequency"控制着频率 .后者应该设置为你想要每次检查之间的秒数 . 默认为 3.
"grails run-war"
这非常类似于上面的选项,但 Jetty 运行依靠的是打包的WAR文件而不是开发时源代码. 热重载被禁止,
因此你无需在别处部署WAR文件而获得良好性能.
WAR 文件
当涉及到它时,
目前的java基本设备都要求web应用程序被当做WAR文件部署,因此,这是目前为止最常见的方式Grails应用程序用于生产部署 .
创建WAR文件只需要简单的执行war
命令:
这里也有许多方式用于定制WAR文件的创建 . 例如, 你可以指定命令路径 (任何现对和绝对)
,这会指定在哪里放置文件和给定什么样的名字:
grails war /opt/java/tomcat-5.5.24/foobar.war
作为选择,你可以在grails-app/conf/BuildConfig.groovy
添加一行来改变默认的位置和文件名
:
grails.war.destFile = "foobar-prod.war"
当然,任何命令行参数都优先于这个设置.
它也可以控制在WAR文件包含什么样的类库 ,
例如,如果你需要在共享文件夹中避免类库冲突.默认行为是包含所有Grails所需要的全部类库 ,添加的任何类库都被包含在 "lib"目录,
添加的任何类库都被包含在应用程序的"lib"目录.作为默认行为的选择,通过使用Ant包含模式或闭包包含AntBuilder语法的任一种设置Config.groovy的grails.war.dependencies
和
grails.war.java5.dependencies
属性来明确指定WAR文件所包含的完整的类库列表,闭包的调用来自Ant
"copy"阶段,因此只有像
"fileset"的元素可以被包含,尽管每个项目都包含在模式列表中.任何闭包或模式被分配给后面的属性被包含在增加的grails.war.dependencies
只在你运行在JDK1.5或以上
.
注意这些问题:
假如任何Grails依赖的类库丢失,应用程序肯定会失败,这里有个示例包含了标准Grails依赖所需的小子集:
def deps = [
"hibernate3.jar",
"groovy-all-*.jar",
"standard-${servletVersion}.jar",
"jstl-${servletVersion}.jar",
"oscache-*.jar",
"commons-logging-*.jar",
"sitemesh-*.jar",
"spring-*.jar",
"log4j-*.jar",
"ognl-*.jar",
"commons-*.jar",
"xstream-1.2.1.jar",
"xpp3_min-1.1.3.4.O.jar" ]grails.war.dependencies = {
fileset(dir: "libs") {
deps.each { pattern ->
include(name: pattern)
}
}
}
这个示例只是为了说明属性的语法,假如你想在自己的应用程序中尝试使用它们,应用程序可能不会工作. 你可以在未打包的根目录的
"dependencies.txt"文件中找到Grails所需的依赖列表.你也可以在产生WAR文件的"War.groovy"脚本中找到默认的依赖 - 查看
"DEFAULT_DEPS" 和 "DEFAULT_J5_DEPS" 变量.
2个遗留的配置选项用于grails.war.copyToWebApp
和grails.war.resources
.
第一个允许你定制来自"web-app"目录的WAR文件包含什么. . 第2个允许你在WAR文件完全创建之前执行任何额外的数据处理.
// This closure is passed the command line arguments used to start the
// war process.
grails.war.copyToWebApp = { args ->
fileset(dir:"web-app") {
include(name: "js/**")
include(name: "css/**")
include(name: "WEB-INF/**")
}
}// This closure is passed the location of the staging directory that
// is zipped up to make the WAR file, and the command line arguments.
// Here we override the standard web.xml with our own.
grails.war.resources = { stagingDir, args ->
copy(file: "grails-app/conf/custom-web.xml", tofile: "${stagingDir}/WEB-INF/web.xml")
}
应用程序服务器
理想情况下,你可以把通过Grails创建的WAR文件简单的放置于任何应用程序服务器并能马上工作. 不过,事情并没这么简单.
Grails 站点
包含最新的Grails测试过的服务器列表, 连同任何其他用让Grails WAR文件工作的额外步骤.
分享到:
相关推荐
四、Grails部署 1. 环境准备:确保目标服务器已安装JDK和相应的运行环境,如Tomcat或Jetty。 2. 构建可部署包:使用`grails war`命令生成WAR文件,包含了Grails应用的所有依赖。 3. 部署:将WAR文件上传至服务器的...
- Grails 应用可以打包为 WAR 文件部署到 Tomcat 或其他 Servlet 容器。 - 也可以使用 Spring Boot 的内置服务器,直接运行应用。 通过这份《Grails 入门大全》的学习,你将能够理解 Grails 的核心概念,掌握基本...
五、Grails部署与性能优化 1. 部署:Grails应用可以运行在任何支持Java的服务器上,如Tomcat、Jetty等。同时,Grails还支持War打包,方便云环境部署。 2. 性能优化:通过配置缓存策略、调整GORM参数、使用异步处理...
关于Grails开发的软件部署建议
15. **热部署**: 开发过程中,Grails支持代码的热部署,修改后的代码无需重启服务器即可生效,大大加快了开发迭代速度。 综上所述,"grails-3.0.5-ga (2/2)"是一个包含Grails框架核心特性和改进的版本,适用于那些...
10. **持续集成与部署**:Grails与常见的CI/CD工具如Jenkins、GitLab CI/CD等良好集成,方便自动化部署和持续集成。 通过《Grails权威指南》,你可以学习到如何利用Grails的强大功能来开发高效、可扩展的Web应用,...
Grails使用Gradle作为构建工具,提供了`grails war` 命令生成可部署的WAR文件,方便在各种Java应用服务器上部署。 九、测试 Grails内置了测试框架,支持单元测试、集成测试和功能测试。通过`test-app` 命令,可以...
今天我们将深入探讨两个这样的开源项目——"lenskit-eval-maven-plugin-2.0.3.1"和"composite-logging-deploy",以及它们在Grails部署环境中的应用。 首先,"lenskit-eval-maven-plugin-2.0.3.1"是一个基于Maven的...
在Eclipse中开发Grails项目是一项技术性较强的工作,涉及到多个步骤和配置。Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程。以下将详细阐述如何在Eclipse环境下配置Grails项目并进行调试。 ...
总之,《Grails中文参考手册》覆盖了从安装、创建应用到部署和配置的全过程,对于希望掌握Grails框架的开发者来说,是一份不可或缺的学习资源。通过深入学习和实践,你将能够充分利用Grails的强大功能,快速构建出高...
部署时,通常会将Grails应用打包成WAR文件,部署在Tomcat、Jetty等Servlet容器上。 8. **最佳实践** 在实际开发中,了解并遵循Grails的最佳实践至关重要,例如,合理划分领域模型、充分利用GSP标签库、使用Service...
11. **部署**:最后,文档会介绍如何将Grails应用部署到不同的服务器环境,如Tomcat、Jetty等。 通过阅读这份《Grails 1.1 中文文档》,开发者能够全面理解Grails框架的架构、工作原理和最佳实践,从而高效地开发出...
Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式的应用程序。 在入门Grails之前,首先需要了解如何下载并安装这个框架。Grails官方提供了各个版本的下载链接,通常包括zip压缩包和可...
### Grails入门指南知识点 #### 一、Grails框架简介 - **背景**: Grails是一个基于Groovy语言的开源Web应用框架,适用于Java平台。它旨在简化开发过程,提高开发效率,尤其受到那些希望保留Java环境同时寻求更高效...
Grails提供了许多内置的命令来帮助开发者进行项目的构建、测试和部署等工作。例如,可以使用`grails create-app myapp`创建一个新的Grails应用,或者使用`grails run-app`启动已有的应用。 #### 四、总结 通过上述...
Grails也支持热部署,使得开发过程更加流畅。 8. **测试** Grails提供了完整的测试框架,包括单元测试、集成测试和功能测试。`@Integration`和`@Functional`注解分别用于集成测试和功能测试,确保代码质量。 9. *...
10. **部署与测试**:学习如何配置和部署Grails应用,以及单元测试和集成测试的实践。 11. **性能优化**:讨论Grails应用的性能调优技巧,如内存管理、缓存策略和数据库优化。 12. **Grails进阶**:探索更高级的...