如何重命名现有的Grails应用程序

如何重命名现有的Grails应用程序,grails,Grails,有人知道如何(轻松地)“重命名”现有的grails应用程序吗?我遇到这种情况是因为我的PaaS提供商不允许我删除订阅。。。因此,我想用不同的名称部署我的应用程序 当然,我可以手动执行此操作,但我认为它可能是一个有用的“顶级”脚本(即“grails重命名应用程序newappname”) 手动提示: 当我执行“grails创建应用程序myappname”时,我可以看到myappname存在于以下文件(和文件名)中。。。当然,这是由createapp脚本完成的,它替换模板中的@…@标记。我想一旦它们被

有人知道如何(轻松地)“重命名”现有的grails应用程序吗?我遇到这种情况是因为我的PaaS提供商不允许我删除订阅。。。因此,我想用不同的名称部署我的应用程序

当然,我可以手动执行此操作,但我认为它可能是一个有用的“顶级”脚本(即“grails重命名应用程序newappname”)

手动提示:

当我执行“grails创建应用程序myappname”时,我可以看到myappname存在于以下文件(和文件名)中。。。当然,这是由createapp脚本完成的,它替换模板中的@…@标记。我想一旦它们被替换,重新命名就不是件小事了

./.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
./application.properties:app.name=myappname
/build.xml:
./ivy.xml:
./myappname-test.launch:
./myappname.launch:
./myappname.launch:
./myappname.launch:
./myappname.launch:
./myappname.tmproj:myappname.launch
当然。。。顶级目录名为“myappname”

欢迎提供任何有关该领域正在进行的活动的提示或信息

格里茨


Johan

嗯,我知道这看起来并不有趣,但重命名项目目录应该不难(只是无聊),然后重命名所有包含项目名称的文件(除非使用TextMate,否则可以忽略.tmproj)。最后,在所有文件中快速搜索要替换的旧项目名称,您应该拥有它

哦!!首先,如果您使用的是IDE,则需要从IDE中删除该项目,然后在完成重命名过程后重新导入该项目

据我所知,除了项目目录和下面的目录外,没有任何特定于项目的内容存储在任何地方,因此搜索的集合非常有限,您只需执行一次(我希望如此)


我知道这不是很优雅,但蛮力确实有它的用途。

我不得不这样做,我将我的项目顶层目录重命名为新名称并 编辑了application.properties文件。有一行app.name=youroldappname,应该更改


实际上,您甚至不必重命名目录。你可以有一个不同的web应用程序名称。

我使用了蛮力方法,它对我有效。花了5-10分钟找到其中包含名称的所有文件并替换为新文件。此外,Netbeans后来也不错。唯一改变的是我不得不再次更改的端口号

只需重命名即可,除非您使用插件。它们将存储在
$USER\u HOME/.grails/$grails\u VERSION/projects/OLDNAME
文件夹中


因此,在重命名项目后,您“丢失”了插件。我没有尝试过重命名插件的文件夹,但是只要安装所有的插件就可以了(至少在Google App Engine和gorm jpa上是这样)

如果仅仅更改web应用程序名称还不够,您可以尝试一下粗略的方法-在更改之前进行备份。 (在工作区文件夹中)

然后,在eclipse/ggts中,使用

禁用项目,自动生成 搜索,文件,包含文本:“oldname”,搜索 右键单击搜索结果,全部替换。。。“新名称”

退出eclipse并将所有文件夹重命名为新的项目名称。在Unix/Mac上运行

find . -name "oldname" 
和mv的少数结果,以适当地反映新的名称


对我来说,它就像一个符咒,但请确保您的项目名称不是一个关键字,并且合理地唯一。

重命名后,也许可以方便地执行“grails clean”。
find . -name "oldname"