Подтвердить что ты не робот

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

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

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

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

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

./.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,

Йохан

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

zip -r oldname.zip oldname/

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

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

Закройте eclipse и переименуйте все папки в новое имя проекта. На Unix/Mac выполните

find . -name "oldname" 

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

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