Как переименовать существующее приложение Grails

Кто-нибудь знает, как (легко) «переименовать» существующее приложение Grails? Я сталкиваюсь с этим, потому что мой провайдер PaaS не позволяет мне удалить подписку... Поэтому я хочу развернуть свое приложение под другим именем.

Конечно, я могу сделать это вручную, но я думаю, что это может быть полезным скриптом «верхнего уровня» (например, «grails rename-app newappname»)

Ручные подсказки:

Когда я делаю "grails create-app myappname", я вижу, что имя myappname существует в следующих файлах (и именах файлов)... Конечно, это делается сценарием create-app, который заменяет токены @...@ в шаблон. Я думаю, что после их замены переименовать не так уж и просто.

./.project: <name>myappname</name>
./application.properties:app.name=myappname
./build.xml:<project xmlns:ivy="antlib:org.apache.ivy.ant" name="myappname" default="test">
./ivy.xml:    <info organisation="org.example" module="myappname"/>
./myappname-test.launch:<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="myappname"/>
./myappname.launch:<listEntry value="/myappname"/>
./myappname.launch:<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="myappname" path="1" type="4"/> "/>
./myappname.launch:<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="myappname"/>
./myappname.launch:<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dbase.dir="${project_loc:myappname}" -Dserver.port=8080 -Dgrails.env=development"/>
./myappname.tmproj: <string>myappname.launch</string>

И, конечно же... имя каталога верхнего уровня - "myappname"

Любые подсказки или информация о текущих инициативах в этой области приветствуются.

Гретц,

Йохан


person Johan Pelgrim    schedule 07.05.2009    source источник


Ответы (5)


Мне пришлось это сделать, я переименовал каталог верхнего уровня моего проекта в новое имя и отредактировал файл application.properties. Есть строка app.name=youroldappname, которую нужно изменить.

На самом деле вам даже не нужно переименовывать каталог. У вас может быть другое имя веб-приложения.

person Sean A.O. Harney    schedule 24.07.2009
comment
Может быть, будет удобно выполнить Grails чистым после переименования. - person Ernesto Campohermoso; 08.08.2012

Хм, я знаю, это не выглядит весело, но не должно быть сложно (просто скучно) переименовать каталог проекта, а затем все файлы с названием вашего проекта в них (вы можете игнорировать .tmproj, если вы не используете TextMate). Наконец, быстрый поиск по всем файлам вашего старого имени проекта для замены, и оно должно быть у вас.

Ой! Во-первых, если вы используете IDE, вам нужно удалить проект из IDE, а затем повторно импортировать его после завершения процедуры переименования.

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

Не очень элегантно, я знаю, но грубая сила имеет свое применение.

person billjamesdev    schedule 09.05.2009

Я использовал метод грубой силы, и это сработало для меня. Потребовалось 5-10 минут, чтобы найти все файлы с именем в нем и заменить его новым. Также Netbeans был в порядке после этого. Единственное, что изменилось, это номер порта, который мне пришлось изменить снова.

person Klaas    schedule 12.11.2009

Простое переименование работает, за исключением случаев, когда вы используете плагины. Они будут храниться в папке $USER_HOME/.grails/$GRAILS_VERSION/projects/OLDNAME.

Итак, после переименования вашего проекта вы «потеряли» свои плагины. Я не пробовал переименовывать папку плагина, однако просто установка всех ваших плагинов тоже работает (по крайней мере, с Google App Engine и gorm-jpa).

person Jeroen Wijdemans    schedule 03.05.2010

Если просто изменить имя веб-приложения недостаточно, вы можете попробовать грубый способ — сделать резервную копию перед этим. (В папке рабочей области)

zip -r oldname.zip oldname/

Затем в eclipse/ggts используйте

Отключить проект, Автоматически создавать Поиск, Файл, Содержит текст: «старое имя», Поиск Щелкните правой кнопкой мыши результаты поиска, Заменить все, ... «новое имя»

Выйдите из eclipse и переименуйте все папки в новое имя проекта. На Unix/Mac работает

find . -name "oldname" 

и mv несколько результатов, чтобы правильно отразить новые имена.

Для меня это сработало как шарм, но убедитесь, что название вашего проекта не является ключевым словом и достаточно уникальным.

person user2707001    schedule 13.09.2013