Как переименовать существующее приложение Grails - PullRequest
25 голосов
/ 07 мая 2009

Кто-нибудь знает, как (легко) "переименовать" существующее приложение 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"

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

Greetz

Йохан

Ответы [ 5 ]

33 голосов
/ 24 июля 2009

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

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

0 голосов
/ 13 сентября 2013

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

zip -r oldname.zip oldname/

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

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

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

find . -name "oldname" 

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

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

0 голосов
/ 04 мая 2010

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

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

0 голосов
/ 12 ноября 2009

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

0 голосов
/ 09 мая 2009

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...