2016-08-23 4 views
5

Мы обновляем приложение grails 2.2.5 до grails 3.1 и имеем интересную ошибку. Что это значит и как оно должно быть разрешено?grails error: return type getGrailsApplication() несовместим

/myapp/grails-app/controllers/myapp/admin/AdminProjectController.groovy: -1: 
The return type of java.lang.Object getGrailsApplication() in myapp.admin.AdminProjectController is incompatible with grails.core.GrailsApplication in grails.web.api.WebAttributes 
. At [-1:-1] @ line -1, column -1. 

ответ

5

Благодаря burtbeckwith на этом issue.

«Контроллеры в Grails 2 и Grails 3 уже имеют неявную инъекцию зависимостей для GrailsApplication, поэтому вы добавляете вторую. В Grails 2 она не типизирована (def grailsApplication), а в Grails 3 она набирается (GrailsApplication grailsApplication) , так что вы эффективно добавили переопределение, но с менее конкретным типом возвращаемого значения, который является недопустимым. Просто удалите приложение def grailsApplication и используйте тот, который уже существует ».

Если вы просто удалите def grailsApplication со всех контроллеров, он будет исправлен.

 Смежные вопросы

  • Нет связанных вопросов^_^