【问题标题】:How to rename an existing Grails application如何重命名现有的 Grails 应用程序
【发布时间】:2010-10-24 10:23:49
【问题描述】:

有人知道如何(轻松地)“重命名”现有的 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”

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

问候,

约翰

【问题讨论】:

    标签: grails


    【解决方案1】:

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

    实际上,您甚至不必重命名目录。您可以使用不同的网络应用名称。

    【讨论】:

    • 重命名后可能会很方便地执行“grails clean”。
    【解决方案2】:

    嗯,我知道它看起来不好玩,但是重命名项目目录应该不难(只是无聊),然后重命名所有带有你项目名称的文件(你可以忽略 .tmproj 除非你使用文本伴侣)。最后,在所有文件中快速搜索要替换的旧项目名称,您应该拥有它。

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        除非您使用插件,否则只需重命名即可。它们将存储在$USER_HOME/.grails/$GRAILS_VERSION/projects/OLDNAME 文件夹中。

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

        【讨论】:

          【解决方案5】:

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

          zip -r oldname.zip oldname/
          

          然后,在 eclipse/ggts 中,使用

          禁用项目,自动构建 搜索,文件,包含文本:“旧名称”,搜索 右击搜索结果,全部替换,...​​ "newname"

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

          find . -name "oldname" 
          

          并 mv 少量结果以正确反映新名称。

          对我来说它就像一个魅力,但请确保您的项目名称不是关键字并且相当独特。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-07-08
            • 2018-10-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-03-06
            • 2014-05-30
            相关资源
            最近更新 更多