Как обновить версию Grails для существующего приложения?
У меня есть пример приложения Grails (из Grails in Action), который был создан некоторое время назад под версией 1.1.1 на другом ПК.
Я сейчас загружаю Grails 1.2.0 и хочу вернуться к приложению. Однако, когда я пытаюсь запустить его, я получаю это сообщение:
Приложение ожидает версию Grails [1.1.1], но GRAILS_HOME - это версия [1.2.0] - используйте правильную версию Grails или запустите "обновление Grails", если эта версия Grails новее, чем версия, ожидаемая вашим приложением.
Прочитав немного, я очистил папку 1.2.0 в папке.grails в моем домашнем каталоге (из предыдущих попыток во время изучения проблемы), запустил "grails clean" и "grails upgrade" (отвечая "y", где это было предложено).
Однако я постоянно получаю конфликты "Недопустимое дублирующее определение класса" между классами в \grails\qotd\src\java и \grails\qotd\grails-app{controllers,services,conf}.
Есть ли какие-либо дополнительные ручные шаги, которые мне нужно выполнить?
3 ответа
Если, как вы указали в комментариях, ваш /src/java содержит файлы.groovy - это может привести к неожиданному поведению. Я не затронул вашу конкретную проблему, но всякий раз, когда у меня был файл.groovy, не совпадающий с именем класса внутри, у меня возникали странные проблемы с компиляцией - так что я думаю, у вас может быть похожая проблема.
Если у вас есть файлы / классы с одинаковыми именами в двух местах, это вероятный виновник. Если у вас есть файлы.groovy в /src/java, это еще один потенциальный источник.
Кроме того, размещение BootStrap, Config, DataSource и URLMappings в /src/java - это еще один потенциальный источник проблем. Я бы очистил ваш /src/java, убедившись, что все файлы находятся в соответствующих местах в grails-app.
Я понял твою проблему. Решение - просто измените версию Grails до версии 1.2.0 в файле application.properties в вашем приложении.
Вы можете обновить версию Grails с 5 шагов
- Проект -> Чистый
- application.properties -> Изменить app.grails.version
- Ваш проект -> Свойства -> Grails -> Изменить установку Grails на новую версию Grails.
- Ваш проект -> Инструменты Grails -> Обновить зависимости
Я думаю, что это может помочь вам