我一直在尝试利用grails.gsp.view.dir,这似乎是与基于云的CMS集成时的理想解决方案。当我使用Grails run-app时这很好用,但是一旦我将它构建为war文件并将其部署到Tomcat(我使用的是版本7),它就不再关注这个指令并使用默认的WEB- INF目录。
我正在使用一些非常标准的插件(邮件,webflow,jodatime),所以我不相信它们是问题,尽管我还没有开始使用全新的应用程序。我接下来会尝试。我想也许这是2.1.1中的一个错误,所以我升级到2.3,但我仍然有同样的问题。我需要在构建配置中做些什么来a)告诉它在其他地方部署我的视图和b)让它使用该部署的目录?任何想法都会有所帮助,
由于
答案 0 :(得分:2)
我很惊讶没有其他人遇到这个问题,但似乎 grails.gsp.view.dir 的Grails文档不正确。我将值设置为'/ temp / grails /',并使用尾随/作为指定的文档,但正如我上面提到的,它在运行grails-app时有效,但在将其部署为war文件时则无效。
我做了一些代码审查,我注意到这个配置设置由GroovyPagesGrailsPlugin传递给GroovyPageResourceLoader(很高兴使用开源)。 GroovyPageResourceLoader有一个很好的调试语句,显示了它尝试使用的资源路径,因此我打开它并在dev中显示它正在搜索路径:'/ temp / grails / grails-app / views' ,正如人们所预料的那样。但是,当我将其部署为战争并检查日志时,它显示为: / temp / grails / WEB-INF / grails-app / views'。所以我将WEB-INF目录添加到我的temp / grails中,确定它有效。不确定我是否应该为此创建一个JIRA票证,但文档应该更新。