Я конвертирую существующий проект Grails 2.5.6 в Grails 3.3.11.
В моем существующем приложении (Grails 2.5.6) дескриптор плагина имеет следующий код:
def doWithApplicationContext = { applicationContext ->
def config = applicationContext.grailsApplication.config
def key = config.property.key
key.put(Constants.RESULT_CONST, [controller: "results", action: "showData", templatePath: "/results/data"])
}
Этот код отлично работает с более ранней версией грааля. Но после того, как я обновил до Grails 3.3.11, он выдает исключение: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Это в строке:
key.put(Constants.RESULT_CONST, [controller: "results", action: "showData", templatePath: "/results/data"])
После просмотра типа ключ, т.е. config.property.key, он показывает тип как org.grails.config.NavigableMap$NullSafeNavigator
.
Который с более старой версией был LinkedHashMap. Свойство property.key установлено в приложении. groovy отлично в /grails-app/conf/application.groovy property.key = [:]
Я также попытался установить тип property.key
в дескрипторе плагина внешне для java.util.HashMap
. Но похоже, что не приняли новый тип.
Что я здесь не так делаю?