2009-05-07 10 views
24

Kann jemand eine existierende Grils-Applikation (einfach) umbenennen? Ich stoße darauf, weil mein PaaS-Anbieter es mir nicht erlaubt, ein Abonnement zu löschen ... Also möchte ich meine Anwendung unter einem anderen Namen bereitstellen.Wie benenne ich eine existierende Grails-Applikation um?

Natürlich, ich kann dies manuell tun, aber ich denke, es könnte ein nützlicher 'Top-Level' Skript (dh "Grails umbenennen-App newappname")

Handbuch Hinweise:

Als ich mache ein "grails create-app myappname" Ich kann sehen, dass der myappname in den folgenden Dateien (und Dateinamen) existiert ... Natürlich wird dies durch das create-app-Skript gemacht, welches @ ... @ Token in der Vorlage ersetzt. Ich denke, sobald sie ersetzt werden, ist es nicht trivial, eine Umbenennung vorzunehmen.

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

Und natürlich ... das Namensverzeichnis der obersten Ebene ist "myappname"

Für Hinweise oder Informationen über laufende Initiativen in diesem Bereich sind willkommen

Greetz,

Johan

Antwort

33

Ich musste dies tun, ich umbenannte mein Projekt Top-Level-Verzeichnis auf den neuen Namen und bearbeitet die Datei application.properties. Es gibt eine Zeile app.name = youroldappname, die geändert werden sollte.

Eigentlich müssen Sie das Verzeichnis nicht einmal umbenennen. Sie könnten einen anderen Web-App-Namen haben.

+1

arbeitete wie ein Zauber !!! –

+4

Vielleicht wird convinient führen "Grails sauber" nach dem Umbenennen ausführen. –

0

Hmm, ich weiß, es sieht nicht lustig aus, aber es sollte nicht schwierig sein (nur langweilig), das Projektverzeichnis umzubenennen, dann alle Dateien mit Ihrem Projektnamen in ihnen (Sie können .tmproj ignorieren, es sei denn, Sie verwenden TextMate). Schließlich, eine schnelle Suche durch alle Dateien für Ihren alten Projektnamen zu ersetzen und Sie sollten es haben.

Oh! Wenn Sie eine IDE verwenden, sollten Sie zunächst das Projekt aus der IDE entfernen und es dann erneut importieren, sobald Sie die Umbenennung abgeschlossen haben.

Soweit ich weiß, ist nichts projektspezifisches gespeichert, außer dem Projektverzeichnis und darunter, also ist es ein sehr begrenztes Set zu suchen, und Sie müssen dies nur einmal tun (ich hoffe).

Nicht sehr elegant, ich weiß, aber Brute-Force hat seine Verwendung.

0

Ich habe die brutale Kraft Methode verwendet und es hat für mich funktioniert. Es dauerte 5-10 Minuten, um alle Dateien mit dem Namen darin zu finden und durch die neue zu ersetzen. Auch Netbeans war danach ok. Das einzige, was sich geändert hat, war die Portnummer, die ich wieder ändern musste.

0

Umbenennen funktioniert nur, wenn Sie Plugins verwenden. Sie werden im Ordner $USER_HOME/.grails/$GRAILS_VERSION/projects/OLDNAME gespeichert.

Also nach dem Umbenennen Ihres Projekts haben Sie Ihre Plugins "verloren". Ich habe nicht versucht, den Ordner des Plugins umzubenennen, aber nur die Installation aller Plugins funktioniert (zumindest mit Google App Engine und gorm-jpa).

0

Wenn nur die Änderung des Namens der Web-App nicht ausreicht, können Sie den rohen Weg versuchen - machen Sie vorher ein Backup. (In Workspace-Ordner)

zip -r oldname.zip oldname/ 

Dann in Eclipse/ggts verwenden

deaktivieren Projekt, Build automatisch Suche, Datei, Mit Text: "oldname" Suche Rechts auf die Suchergebnisse klicken, Alle ersetzen, ... "newname"

Beenden Sie die Eclipse und benennen Sie alle Ordner in den neuen Projektnamen um. Unter Unix/Mac

find . -name "oldname" 

und MV die Handvoll Ergebnisse, um die neuen Namen richtig zu reflektieren.

Für mich funktionierte es wie ein Charme, aber stellen Sie sicher, dass Ihr Projektname kein Schlüsselwort und einigermaßen einzigartig ist.

Verwandte Themen