`
romejiang
  • 浏览: 96696 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

为Grails 加上打包自定义排除文件功能。

阅读更多

为Grails 加上打包自定义排除文件功能。

当你使用Grails开发时,总是要不停的打包、部署、测试、调整。这样的过程不断重复。

但Grails war命令打包出来的war总是太大,而且很多webapp目录中一些静态文件,测试文件什么的都会打包进war。

现手工给War.groovy脚本中加入打包自定义排除文件功能。


首先确定你是Grails1.1版本,然后在你的GRails安装目录,找到scripts目录,打开_GrailsWar.groovy文件。
在237行左右,加入一下代码(注释中的是加入的代码,以外的是为了方便大家定位)。


// ========= modify by romejiang start ================
    //ant.delete(dir:"${stagingDir}/", failonerror:true)
    if(config.war.exclude.files)
        config.war.exclude.files.each{
             Ant.delete(
                file:"${stagingDir}/${it}")
        }
     
    if(config.war.exclude.dirs)
        config.war.exclude.dirs.each{
            ant.delete(dir:"${stagingDir}/${it}", failonerror:true)
        }
     
// ========= modify by romejiang end ================
        warPlugins()
        createDescriptor()
        event("CreateWarStart", [warName, stagingDir])
        ant.jar(destfile:warName, basedir:stagingDir)
        event("CreateWarEnd", [warName, stagingDir])

然后在你的项目的config.groovy中就可以如下定义排除文件了。

// war exclude file and dirs
war {
    exclude.files = [
        "index.html",
        "reference.html"
    ]
    exclude.dirs = [
        "projects",
        "categorys"
    ]
}

Groovy&Grails 非常灵活,只有你想不到,没有做不到。

good luck...

分享到:
评论
1 楼 zeeeitch 2009-07-27  
太好了,正需要这个,楼主真是思维灵活、佩服

相关推荐

    Grails自定义scaffolding模板

    在Grails框架中,scaffolding是一种快速开发工具,它能够自动为数据模型生成基本的CRUD(创建、读取、更新、删除)操作界面,极大地提高了开发效率。然而,Grails的默认scaffolding模板可能无法满足所有项目的需求,...

    精通Grails:创建自定义插件

    本文内容包括:ShortenUrl插件简介创建TinyUrl类测试TinyUrl类创建IsGd类创建ShortenUrl服务打包并部署插件结束语下载参考资料在这个“精通Grails”系列中,ScottDavis将向您展示如何创建您自己的Grails插件。...

    Grails结合uploadify上传文件的简单代码

    在本文中,我们将深入探讨如何在Grails框架中结合uploadify插件实现文件上传功能。Grails是一款基于Groovy语言的、高效的Web应用开发框架,它简化了Java平台上的开发流程。uploadify则是一个JavaScript库,它允许...

    grails 文档

    GORM 是Grails的持久化层,它提供了ORM功能,使得Groovy类可以直接映射到数据库表。GORM支持Hibernate和ActiveRecord风格的API,可以方便地进行CRUD操作。 5. **Grails 插件系统** Grails 的强大之处在于其插件...

    Grails 3开发邮件发送功能

    整体来看,Grails 3开发邮件发送功能需要对邮件发送协议和Grails框架有一定的了解,同时,还需要对配置文件和控制器编程有一定的熟悉。通过上述步骤和注意事项的遵循,可以较为高效地在Grails 3项目中集成邮件发送...

    Grails Grails Grails

    总结来说,Grails 是一个强大的Web开发框架,借助Groovy的灵活性和Java生态的稳定性,为开发者提供了高效的开发环境。无论是初学者还是经验丰富的开发者,都能从Grails的简洁设计和强大功能中受益。通过深入学习...

    grails中的上传,下载

    在Grails框架中,文件的上传与下载是常见的功能需求,尤其在开发涉及大量文档、图片或媒体文件处理的应用程序时。以下是对Grails中上传和下载操作的深入解析,包括其实现机制、代码示例及注意事项。 ### 文件上传 ...

    grails-用户手册

    Grails使用Gradle作为构建工具,提供了`grails war` 命令生成可部署的WAR文件,方便在各种Java应用服务器上部署。 九、测试 Grails内置了测试框架,支持单元测试、集成测试和功能测试。通过`test-app` 命令,可以...

    grails-2.4.4.zip

    部署时,通常会将Grails应用打包成WAR文件,部署在Tomcat、Jetty等Servlet容器上。 8. **最佳实践** 在实际开发中,了解并遵循Grails的最佳实践至关重要,例如,合理划分领域模型、充分利用GSP标签库、使用Service...

    grails中文参考手册

    使用`grails war`命令打包应用为WAR文件,然后在服务器上进行部署。 7. **支持的Java EE容器** Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中...

    grails-core源码

    `PluginManager`负责管理插件,通过`PluginMetaClass`动态扩展Grails应用的功能。每个插件都有自己的生命周期方法,可以在特定的生命周期阶段执行自定义操作。 四、依赖注入(Dependency Injection) Grails采用...

    grails脚手架2次优化

    2. **验证规则**:使用Grails的validate方法,为新添加的属性设定验证规则,确保数据的完整性和一致性。 四、自定义脚手架行为 1. **注册自定义脚手架行为**:Grails允许开发者注册自定义的Scaffold行为,这在处理...

    grails中文入门简介

    Grails框架的配置通常通过内置选项和外部文件来完成。例如,数据源的配置既可以在环境配置中直接设置,也可以通过JNDI数据源来管理。此外,还可以配置自动数据库移植功能,它会在应用启动时根据域类(domain class)...

    Eclipse下搭建Grails项目

    - 将Grails命令配置为Eclipse的外部工具,方便直接在IDE中执行Grails命令。在`Run > External Tools > External Tools Configurations...`中创建新的程序配置,详细步骤可参考Eclipse界面的指导。 完成以上步骤后...

    grails快速开发web

    综上所述,Grails 不仅提供了快速开发 Web 应用程序的有效手段,而且还为开发者构建了一个充满活力的社区环境。无论是初学者还是有经验的开发者,都可以从 Grails 的强大功能中受益。通过掌握 Grails 的核心概念和...

    Grails权威指南 Grails权威指南

    Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同层次的开发者,无论你是初学者还是经验丰富的程序员,都能从中受益。 Grails框架的核心特性包括模型...

    Grails入门指南-中文版

    ### Grails入门指南-中文版 #### 一、引言 Grails是一个高效的Web开发框架,它基于Groovy编程语言并构建...无论你是初学者还是有经验的开发者,Grails都能为你提供所需的工具和技术支持,帮助你构建出色的应用程序。

    Grails基础教程.pdf

    - **自定义脚手架模块:创建你自己的用户界面生成器**:进一步扩展Grails的功能,创建符合自己需求的UI生成器。 **6.2 Groovy动态查找器查询和按例查询** - **实现一个基本的查询表单**:演示如何创建一个基本的...

Global site tag (gtag.js) - Google Analytics