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

2023-12-10

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

在我的搜索过程中我遇到了这篇博文涵盖了早期 Grails 版本中的主题。不幸的是,它似乎不再起作用,评论也对我没有帮助。

这是我现在尝试过的:

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(includeEmptyDirs: true) { fileset dir: "${stagingDir}/content/" }

或者如果你想删除content文件夹本身只是:

delete(dir: "${stagingDir}/content/")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Grails 2.0 中从 war 文件中排除资源? 的相关文章

随机推荐