1

我一直在尝试利用 grails.gsp.view.dir,这似乎是与基于云的 CMS 集成时的理想解决方案。当我使用 Grails run-app 时,它工作得很好,但是一旦我将它构建为一个 war 文件并将它部署到 Tomcat(我使用的是版本 7),它就不再关注这个指令并使用默认的 WEB- INF 目录。

我正在使用一些非常标准的插件(邮件、webflow、jodatime),所以我认为它们不是问题,尽管我还没有开始使用全新的应用程序。我下次试试。我想这可能是 2.1.1 中的一个错误,所以我升级到 2.3,但我仍然遇到同样的问题。我需要在构建配置中做些什么来a)告诉它在其他地方部署我的视图,b)让它使用那个部署的目录吗?任何想法都会有所帮助,

谢谢

4

1 回答 1

2

我很惊讶没有其他人遇到这个问题,但grails.gsp.view.dir的 Grails 文档似乎不正确。我将值设置为 '/temp/grails/' 并以 / 作为文档指定的结尾,但正如我上面提到的,它在运行 grails-app 时有效,但在将其部署为 war 文件时无效。

我做了一些代码审查,我注意到这个配置设置是由 GroovyPagesGrailsPlugin 传递给 GroovyPageResourceLoader 的(使用开源很好)。GroovyPageResourceLoader 有一个很好的调试语句,它显示了它试图使用的资源路径,所以我打开它,在开发中它显示它正在路径中搜索: '/temp/grails/grails-app/views'可能预计。但是,当我将其部署为战争并检查日志时,它显示为:/temp/grails/WEB-INF/grails-app/views'。所以我将 WEB-INF 目录添加到了我的 temp/grails 中,果然它可以工作。不确定我是否应该为此创建 JIRA 票证,但应该更新文档。

于 2013-09-23T23:27:07.507 回答