grails не может найти представление из плагина

#grails #grails-plugin #gsp

Вопрос:

Я пытаюсь написать плагин grails, который может просматривать файлы. На самом деле, я просто пытаюсь обновить вот это… https://github.com/intelligrape/File-Viewer-Grails-Plugin в grails4 и заставьте его работать в моем приложении.

В любом случае, после того, как я заставлю его работать в приложении, я посещаю http://localhost:8080/file/index и я получаю эту ошибку:

 URI
/file/index
Class
javax.servlet.ServletException
Message
Could not resolve view with name '/plugins/file-explorer-0.1/file/fileList' in servlet with name 'grailsDispatcherServlet'
 

Это происходит, когда контроллер делает это…

 def index(String filePath) {
    Map model = [locations: fileLocations.locations]
    // blah blah
    render(view: "/file/fileList", model: model, plugin: 'fileExplorer')
}
 

Вызывается метод render () (я проверил в отладчике). Я также попытался удалить параметр plugin:, но это не имело никакого значения.

Теперь, если я запущу плагин как отдельное приложение (перейдя в эту папку и запустив «grails run-app», то он будет работать так, как ожидалось, и http://localhost:8080/file/index отображает представление так, как можно было бы ожидать.

Все это наводит меня на мысль, что плагин в основном работает и установлен в моем приложении, ЗА ИСКЛЮЧЕНИЕМ компонента представления, который по какой-либо причине не может найти представления из плагина.

Если вы хотите знать, как выглядит источник, это в основном то, что вы видите здесь:.. https://github.com/intelligrape/File-Viewer-Grails-Plugin За исключением того, что я переименовал его из FileViewer в FileExplorer.

Я использую grails 4.1.0.M5, я не знаю, может ли это быть ошибкой в этой версии или чем-то еще.

Ответ №1:

Кажется, мне следовало бы

 plugin: 'filexplorer'
 

вместо

 plugin: 'fileExplorer'
 

Я мог бы поклясться, что уже пробовал это. Я думаю, дело в том, что может быть непонятно, какое имя использовать, где, что касается плагинов, например, в имени build.gradle, имени в *Plugin.groovy, имени в settings.gradle, имени пакета и т. Д. В любом случае, я как-то облажался.