Нет такого метода после обновления до Grails 2.4.1

#grails

#граали #grails

Вопрос:

Я только что обновился Grails 2.4.1 , и кажется, что есть проблема с. tag libraries

 Class java.lang.NoSuchMethodError
Message org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.getOut(Ljava/lang/Object;)Ljava/io/Writer;
  

Это и есть трассировка стека:

 org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: Error executing tag <asset:javascript>: org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.getOut(Ljava/lang/Object;)Ljava/io/Writer;
... 8 more
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <asset:javascript>: org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.getOut(Ljava/lang/Object;)Ljava/io/Writer;
at home_saw303_dev_projects_zsc_supporter_grails_app_views_layouts_zscsupporter_gsp$_run_closure1.doCall(home_saw303_dev_projects_zsc_supporter_grails_app_views_layouts_zscsupporter_gsp:36)
at home_saw303_dev_projects_zsc_supporter_grails_app_views_layouts_zscsupporter_gsp.run(home_saw303_dev_projects_zsc_supporter_grails_app_views_layouts_zscsupporter_gsp:43)
... 8 more
Caused by: java.lang.NoSuchMethodError: org.codehaus.groovy.grails.plugins.web.api.TagLibraryApi.getOut(Ljava/lang/Object;)Ljava/io/Writer;
at asset.pipeline.AssetsTagLib$_closure1_closure10.doCall(AssetsTagLib.groovy:45)
at asset.pipeline.AssetsTagLib$_closure1.doCall(AssetsTagLib.groovy:43)
... 10 more
  

Можете ли вы подтвердить такое поведение? Есть ли обходной путь?

Комментарии:

1. Можете ли вы описать, что нужно для воспроизведения проблемы в новом приложении 2.4.1? Я не могу сказать наверняка, посмотрев на вашу трассировку стека, но, похоже, в вашем макете zscsupporter может быть что-то важное.

2. Что ж, это странно. Я попытался воспроизвести это в простом новом приложении Grails 2.4.1. После grails create-app и grails run-app Grails загрузили дополнительные зависимости, которые не загружались при обновлении приложения zscsupporter. После этого проблема исчезла. Как мне обновить приложения Grails 2.4.x в целом? Каков правильный рабочий процесс? Все, что я делал, grails set-grails-version 2.4.1 но это, похоже, не заставляло grails загружать зависимости.

Ответ №1:

Я думаю grails clean , что в вашем исходном приложении после обновления проблема исчезнет. Проблема в том, что у вас есть GSP, который был скомпилирован с более ранней версией Grails, и этот скомпилированный класс несовместим с версией Grails, которую вы используете сейчас.