2015-09-01 2 views
3

У меня есть работающее приложение Grails, начатое несколько лет назад с Grails 2.0.0.RC1 и обновленная версия после версии, до 2.2.5. После этого обновления я работал с ним только изредка, так как проект был «завершен», только исправляя ошибку.Обновление приложения от Grails 2.2.5 до 3.0

Теперь мне нужно много работать, поэтому я планирую обновить его до Grails 3.0, чтобы использовать новые функции, добавленные в последние выпуски Grails.

Этот проект имеет ~ 25 классов домена, ~ 20 контроллеров, кучу сервисов, некоторые пользовательские taglib и использует некоторые плагины: jasper, shiro, searchable.

В качестве общего предложения, то documentation says что

Наилучший подход принять при обновлении плагина или приложения (и, если ваше приложение использует несколько плагинов плагинов потребуется обновление первого), чтобы создать новый Приложение Grails 3.0 с тем же именем и скопируйте исходные файлы в нужные места в новом приложении.

Действительно ли это лучший подход для моего случая, или существуют альтернативные способы (быстрее и менее болезненными) для достижения этого? Вы уже справлялись с этим? Что ты наделал?

+0

Это может помочь http://www.slideshare.net/SpringCentral/migrating-from-grails-2-to-grails-3. Это может дать вам несколько советов. Я также обновляю приложение с 35 + доменами и более 100 контроллерами от Grails 2.5.1 до 3.1.0. Боль невыносима :( – sgiri

ответ

2

Да.

Я модернизировал проект с 2.2 до 2.4, и это не сработает, пока я не создам новый проект 2.4 и не переписал все. Я не могу представить успех с помощью прыжка, который вы делаете, используя любой другой подход.

Просто снимите с любимыми закусками, откройте ветвь в ваших dvcs (git, mercurial и т. Д.) И сделайте устойчивый прогресс. Это будет не так уж плохо. Ваши проблемы, скорее всего, будут связаны с настройкой и отсутствием плагинов. Большинство артефактов, таких как домены и контроллеры, будут работать без изменений.

Говоря о плагинах, убедитесь, что все те, которые вам нужны, совместимы с 3.0.

+0

Благодарим вас за ответ, но я хотел бы также получить ответ от кого-то, кто столкнулся с миграцией от 2 до 3 грайлов. В противном случае я буду следовать вашему пути;). Спасибо. – lifeisfoo

+0

Плагин SpringSecurity еще не совместим! – lucasddaniel

3

Grails 3.0 является полным нулем переписан Grails так, как и официальная документация говорит, лучший подход заключается в создании нового приложения, а затем скопировать в него источники файла первого (src/java, src/groovy, grails-app) и статические активы в asset папка. Затем вам нужно перенести конфигурацию (например, конфигурация в Config.groovy должна быть в application.yml или application.groovy) и файлы зависимостей (BuildConfig.groovy - build.gradle).

Весь процесс хорошо описан по официальной ссылке, которую вы предоставляете. Наконец, как Эммануэль Роза сказал выше, убедитесь, что плагины, которые вы используете, совместимы с Grails 3.x.

+1

Это не полезно. Я уже читал официальную документацию, а также ссылался на нее в своем вопросе. Мой вопрос направлен на то, что кто-то совершил реальную миграцию в grails 2-> 3, и это может сказать мне, с какими проблемами он действительно столкнулся. У меня есть ограниченное время, чтобы сделать это, поэтому мне нужно выбрать правильный путь, сделать оценку, прежде чем начать. – lifeisfoo

+0

Я пережил переход от грааля 2 к граалу 3, и это то, что я сделал. Простите, если это вам не поможет. – RickyGo

+0

Вы только что скопировали и вставляли модели, контроллеры, сервисы, представления и внешние источники java/groovy без проблем? – lifeisfoo

0

Для будущих ссылок вы можете рассмотреть эти ссылки в качестве ссылки:

Upgrading Grails 3

Grails 3 Upgrading from 3.2.x to 3.3.0

Это не невозможно модернизировать от 2 до 3.

  1. Вы должны видеть журнал изменений
  2. См изменений в структуре конфигурации и папок
  3. иметь в виде новый pluggins и устаревшие один
  4. Настройка IDE (если вы использовали один) - Gradle, заводной .. с Grails 3 Intellij, кажется, чтобы быть лучшим вариантом
  5. в конце вам нужно проверить много - с пустой базой, с унаследованными данными,

Для небольшого проекта мне потребовался один день для обновления.