有人知道如何(轻松)“重命名”现有的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”
欢迎提供有关此领域正在进行的举措的任何提示或信息
格尔茨,
约翰
答案 0 :(得分:33)
我必须这样做,我将项目顶级目录重命名为新名称和 编辑了application.properties文件。有一行app.name = youroldappname,应该更改。
实际上,您甚至不必重命名目录。您可以拥有不同的网络应用程序名称。
答案 1 :(得分:0)
嗯,我知道它看起来并不好看,但重命名项目目录,然后将所有带有项目名称的文件重命名(你可以忽略.tmproj除外)应该不难(只是无聊) TextMate的)。最后,快速搜索要替换的旧项目名称的所有文件,您应该拥有它。
哦!首先,如果您使用的是IDE,则需要从IDE中删除该项目,然后在完成重命名过程后重新导入该项目。
据我所知,除了项目目录和下面的任何地方,没有任何项目特定的存储,所以它是一个非常有限的搜索集,你只需要做一次(我希望)。
我知道不是很优雅,但蛮力确实有它的用途。
答案 2 :(得分:0)
我使用了蛮力方法,它对我有用。花了5-10分钟找到其中包含名称的所有文件,并将其替换为新文件。此后Netbeans还可以。唯一改变的是我必须再次更改的端口号。
答案 3 :(得分:0)
除了使用插件时,只需重命名即可。它们将存储在$USER_HOME/.grails/$GRAILS_VERSION/projects/OLDNAME
文件夹中。
因此,在重命名项目后,您“丢失”了您的插件。我还没有尝试重命名插件的文件夹,但只安装所有插件工作(至少使用Google App Engine和gorm-jpa)。
答案 4 :(得分:0)
如果仅更改网络应用程序名称是不够的,您可以尝试粗略的方式 - 之前进行备份。 (在工作区文件夹中)
zip -r oldname.zip oldname/
然后,在eclipse / ggts中,使用
禁用项目,自动构建 搜索,文件,包含文本:“oldname”,搜索 右键单击搜索结果,全部替换,...“newname”
退出eclipse并将所有文件夹重命名为新项目名称。在Unix / Mac上运行
find . -name "oldname"
并使用少量结果来正确反映新名称。
对我而言,它就像一个魅力,但请确保您的项目名称不是关键字,而且相当独特。