grails - 如何在 Grails 2.0 中从 war 文件中排除资源?

标签 grails build resources

我的 Grails 2 应用程序中有一些测试数据,其中包含一些特殊内容(图像、视频等),在构建 war 时不应包含这些内容。在开发时,这些文件存储在 web-app/content/ 中。那么问题来了,在生产环境构建war时如何排除它们呢?

在搜索过程中,我遇到了 this blog post, covering the topic in an earlier Grails version 。不幸的是,它似乎不再起作用了,评论也对我没有帮助。

这是我现在尝试过的:

grails.war.resources = { stagingDir ->
    delete { fileset(dir: "${stagingDir}/content/", includes: '*') }
}

也许我只是错过了一些东西?或者是否有更好的方法将测试数据与交付应用程序分开?

最佳答案

是的,我显然错过了一些东西。或者更准确地说,有时信息越少越好。经过更多的谷歌搜索 ant delete fileset 后,我​​发现 includes 属性已被弃用。删除后,content 目录中的所有文件都被删除。甚至目录结构仍然存在,这正是我想要的。

所以我现在的解决方案是:

grails.war.resources = { stagingDir ->
    delete { fileset dir: "${stagingDir}/content/" }
}

编辑: 据我所知,grails 在底层使用了 ant,所以 Ant Delete Task是要看的东西。所以我想如果你也想删除空子目录,那就是(尽管没有检查):

delete(includeEmptyDirs: true) { fileset dir: "${stagingDir}/content/" }

或者如果您想删除content文件夹本身:

delete(dir: "${stagingDir}/content/")

关于grails - 如何在 Grails 2.0 中从 war 文件中排除资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564720/

相关文章:

GitCloneTask 不克隆存储库 ("The remote end hung up unexpectedly")

c# - 无法更改 .aspx 页面的区域性

grails - grails spring安全ui密码验证器

html - 如何为具有动态参数的页面提供面包屑?

linux - 如何为 OpenSSL 提供自定义编译器/链接器标志?

visual-studio-2008 - 如何使用xbuild(来自Mono)构建Visual Studio解决方案?

hibernate - 注释 Controller 方法以使Hibernate session “read-only”

hibernate - Grails 中包含惰性和非惰性属性的缓存

ruby-on-rails - 嵌套资源错误 : Circular dependency detected while autoloading constant

ruby-on-rails - Active Admin 自定义操作项资源名称