2013-09-21 3 views
1

Я пытаюсь использовать grails.gsp.view.dir, который, казалось бы, был идеальным решением при интеграции с облачным интерфейсом, основанной на CMS. И когда я использовал приложение Grails run-app, это прекрасно работает, но как только я создаю его как файл войны и разворачиваю его в Tomcat (я использую версию 7), он больше не обращает внимания на эту директиву и использует по умолчанию WEB- INF.grails.gsp.view.dir работает в dev, но не при развертывании в качестве войны

Я использую некоторые довольно стандартные плагины (почта, веб-поток, jodatime), поэтому я не верю, что это проблема, хотя мне еще нужно начать с совершенно нового приложения. Я попробую это дальше. Я подумал, может быть, это была ошибка в 2.1.1, поэтому я обновил ее до 2.3, но у меня все еще такая же проблема. Есть ли что-то, что мне нужно сделать в моей конфигурации сборки: a) рассказать ей о развертывании моих просмотров в другом месте и b) использовать ли этот развертываемый каталог? Любые идеи, было бы полезно,

Благодаря

+0

но какой каталог вы ожидаете после развертывания в качестве файла WAR? –

+0

Привет @Igor Artamonov, На моем локальном компьютере у меня есть каталог \ temp \ grails \ grails-app \ views. Таким образом, я устанавливаю grails.gsp.view.dir = 'temp \ grails \', и когда я запускаю приложение, он считывает все представления из этого каталога. Но когда я делаю военный файл и помещаю его в папку localapps моего локального tomcat, он больше не читает из temp/grails/grails-app/views и вместо этого читает из tomcat/webapps/myapp/WEB-INF/grails-app/views , Вид раздражает. Я попробовал это на своем dev-блоке и на нашем производственном сервере и независимо от значения grails.gsp.view.dir, которое он читает из папки WEB-INF. –

ответ

2

Я очень удивлен, что никто не столкнулся с этой проблемой, но она появляется в документации Grails для grails.gsp.view.dir неверен. Я установил значение как «/ temp/grails /» с трейлингом/как указано в документации, но, как я уже упоминал выше, он работает при запуске grails-app, но не при развертывании в качестве военного файла.

Я просмотрел код, и я заметил, что этот параметр конфигурации передается GroovyPagesGrailsPlugin в GroovyPageResourceLoader (хорошо работать с открытым исходным кодом). У GroovyPageResourceLoader был хороший отладочный оператор, который показывал, какой путь ресурса он пытался использовать, поэтому я включил его, и в dev он показал, что он искал путь: '/ temp/grails/grails-app/views' as можно было бы ожидать. Однако, когда я развернул его в качестве войны и проверил журнал, он показал его как: /temp/grails/WEB-INF/grails-app/views '. Поэтому я добавил каталог WEB-INF в мой temp/grails и, безусловно, он работает. Не уверен, что я должен создать для этого JIRA-билет, но документация должна быть обновлена.