我们在我们的grails应用程序中使用各种插件(如日志记录,弹簧安全核心,ui,acl和许多其他插件)。现在这些插件带有默认的gsps(在每个插件的视图文件夹中)。构建战争时删除插件视图(gsp)
我想构建一个WAR而不包括任何插件的视图。因此,当战争现在建立时,它会创建包含views文件夹的插件文件夹,这些文件夹默认会与插件一起提供,这些视图引入了很多漏洞,所以我想排除插件视图。
我现在想这一权利BuildConfig.groovy象下面这样:
grails.project.dependency.resolution = {
grails.war.resources = { stagingDir ->
println "Customized delete started..."
delete{fileset dir: "${stagingDir}/WEB-INF/plugins/logging-0.1/grails-app/views/"}
delete{fileset dir: "${stagingDir}/WEB-INF/plugins/spring-security-ui-0.1.2/grails-app/views/"}
}
}
但问题是代码试图删除的意见时,他们还没有因战争而建设过程中产生的。因此,我得到一个文件没有找到这些插件视图的错误。
我应该在哪里编写代码来删除插件视图,以便它们在构建WAR时已经创建并可以删除,或者如何在WAR中包含插件视图?
在此先感谢.. Priyank
嗨再次感谢您的解答..我们成功地使用了您的方法,我们在_Events.groovy中编写了一个eventCreateWarEnd事件并指定了要删除的文件,但我们并未使用eventCreateWarStart,因为我们希望插件文件夹及其所有内容在调用delete时存在,因此在末尾调用delete。感谢你的回答。 – 2012-04-16 07:30:56
“includes”已弃用:http://ant.apache.org/manual/Tasks/delete.html。你应该使用文件集: ant.delete fileset(dir:“$ {stagingDir}/WEB-INF/classes”,包括:“gsp_springSecurityUi *。*”) } – Mark 2013-03-25 14:48:04