Ошибка при обновлении Grails до 2.4.0 с 2.1.4 и JDK до 1.8 с 1.7
У нас есть приложение, которое было реализовано в Grails 2.1.4 и JDK 1.7, и нам нужно перейти на Grails 2.4.0 и JDK 1.8.
При обновлении до Grails 2.4.0 ниже приведены изменения, сделанные с нашей стороны.
- Обновлены все плагины в файлах BuildConfig.groovy и application.properties.
Многие классы устарели, поэтому я использовал класс grails.util.Holders вместо устаревших классов.
org.codehaus.groovy.grails.commons.ApplicationHolder org.codehaus.groovy.grails.commons.ConfigurationHolder org.codehaus.groovy.grails.plugins.PluginManagerHolder
Для нескольких классов я изменил пакеты импорта согласно grails 2.4.0
- Последний плагин richUI недоступен, поэтому я обновил класс Holders вместо ConfigurationHolder в классах плагина richUI.
Построил войну успешно и развернул войну в кота.
Проблема не может перенаправить ссылку с urlmappings.groovy на домашний контроллер и соответствующий gsp.
- Попытка перенаправить на другой gsp в проекте (index.gsp), но это не удалось.
- Создал новый gsp(hello.gsp) и перенаправил на hello.gsp из urlmappings.groovy, но это не сработало.
При попытке загрузить URL-адрес приложения http://localhost:8080/abc, он будет перенаправлен на http://localhost:8080/abc/login/auth, показывающий, что страница не может быть отображена
Во время отладки управление переходит от urlmappings.groovy к bootstrap.groovy и далее никуда не перемещается.
Любая помощь приветствуется. заранее спасибо
Добавление Urlmappings.groovy
статические отображения = {
"/ $ controller / $ action? / $ id?" {ограничений {
// применяем ограничения здесь
}}
// Главная
"/"(Контроллер:"дом", действие:"Индекс")
// Отчеты службы URL
"/services/report"(контроллер: "BirtReport"){
Действие =[GET:"список"]
}
"500" (вид:'/ ошибка')
}
При запуске приложения я получаю сообщение об ошибке ниже в stacktrace.log
ОШИБКА context.GrailsContextLoaderListener - Ошибка инициализации приложения: Ошибка создания компонента с именем "pluginManager", определенным в ресурсе ServletContext [/WEB-INF/applicationContext.xml]: сбой вызова метода init; вложенное исключение: java.lang.RuntimeException: невозможно найти конструктор с параметром Class для класса org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем 'pluginManager', определенным в Servlet ресурс [/WEB-INF/applicationContext.xml]: сбой вызова метода init; Вложенное исключение: java.lang.RuntimeException: невозможно найти конструктор с параметром Class для класса org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
в java.util.concurrent.FutureTask.run(FutureTask.java:266)
в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
на java.lang.Thread.run(Thread.java:745)
Причина: java.lang.RuntimeException: невозможно найти конструктор с параметром Class для класса org.codehaus.groovy.grails.commons.DefaultGrailsServiceClass
... еще 4
Вызывается: java.lang.reflect.InvocationTargetException
... еще 4
Вызывается: java.lang.NoClassDefFoundError: org/pentaho/di/core/logging/LogLevel
в java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
в java.lang.Class.getDeclaredMethods (Class.java:1967)
... еще 4
Вызывается: java.lang.ClassNotFoundException: org.pentaho.di.core.logging.LogLevel
на java.net.URLClassLoader$1.run(URLClassLoader.java:372)
на java.net.URLClassLoader$1.run(URLClassLoader.java:361)
на java.net.URLClassLoader.findClass(URLClassLoader.java:360)
в java.lang.ClassLoader.loadClass(ClassLoader.java:424)
в java.lang.ClassLoader.loadClass (ClassLoader.java:357)
... еще 6