【问题标题】:how to use appcfg.py for google-app-engine projects created using google's eclipse plugin?如何将 appcfg.py 用于使用 google 的 eclipse 插件创建的 google-app-engine 项目?
【发布时间】:2011-01-03 21:05:01
【问题描述】:

我使用 Google 的 Eclipse 插件在 Eclipse 中创建了一个 google-app-engine java 项目。我之前的部署尝试失败了。现在,当我重试时,我收到以下消息:

无法更新应用程序:发布到 URL 时出错:http://appengine.google.com/api/appversion/create?app_id=mybdaywisherversion=1 409冲突 此应用程序和主要版本的此用户的另一笔交易已在进行中。该用户可以使用 appcfg.py 的“回滚”命令撤消事务。

现在,我一直只使用 Eclipse 内部的 google-app-engine 功能,不知道如何运行 appcfg.py 命令。

无法从 Internet 上的可用文档中获得太多帮助。我唯一能弄清楚的是对于mac(我在mac上),要使用的命令是appcfg.sh。在 Eclipse 中,我查看了 App-Engine SDK 在我的机器上的位置并找到了那个位置。 甚至在那里找到了 appcfg.sh。但是当我尝试运行它时,它只报告错误“找不到命令”。尝试了各种替代方法来运行它(比如尝试使用 sudo 运行它,尝试通过查看其是否位于以 ./appcfg.sh 运行它)但没有成功

谁能告诉我运行 apcfg 命令必须遵循的步骤?

【问题讨论】:

    标签: java eclipse google-app-engine eclipse-plugin


    【解决方案1】:

    我在运行 Eclipse 提供的那些 appcfg 时遇到问题。我必须为 python 安装 Python+ App Engine sdk 并从 appcfg.py 功能中受益。不过它是在 Windows 上的。

    【讨论】:

      【解决方案2】:

      要使用命令行部署您的应用程序,请执行以下步骤:

      cd "/Library/Google/google_appengine"
      ./appcfg.py update "path-to-project/src"
      

      系统将提示您输入电子邮件和密码。

      【讨论】:

        【解决方案3】:

        对于 mac / linux 用户: 1.cd /“sdk目录”/bin 2. chmod +x appcfg.sh 3. ./appcfg.sh -s appengine.google.com -e XXX@Gmail.com 回滚 /Users/"...."/workspace/yourapp/war

        【讨论】:

          【解决方案4】:

          【讨论】:

            【解决方案5】:

            由于在应用部署期间发生内部服务器错误, 我现在剩下一个待处理的事务,我需要回滚 在我可以再次部署之前。

            创建暂存目录 扫描 jsp 文件。 扫描本地磁盘上的文件。 启动更新。 java.io.IOException:发布到 URL 时出错: 409 冲突 此应用程序和主要用户的另一笔交易已在进行中 版本。该用户可以使用 appcfg.py 的“回滚”撤消事务 命令。

            这就是我的做法(全部来自命令行),稍微简单一些 方法,达到了同样的效果.....

            C:\Documents and Settings\Amit\My Documents\newproject>"C:\Program 文件\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.2.5.v200909021031\appengine-java-sdk-1.2.5\bin\appcfg" 回滚战

            正在读取应用程序配置数据...

            2009-09-17 20:47:35.859::INFO:通过 org.mortbay.log.StdErrLog 记录到 STDERR 开始 idebanet 的服务器交互... 0% 回滚更新。 成功。 清理临时文件...

            C:\Documents and Settings\Amit\My Documents\newproject>

            礼貌:约翰

            【讨论】:

              【解决方案6】:

              我认为这些答案没有那么有用。

              1. 使用命令行 cd 进入您的应用程序目录。对我来说这是

                cd /Sites/appengine_myapp

              2. 现在你已经完成了。

                appcfg.py --no_cookies --email=YOUR_EMAIL_HERE@gmail.com --passin rollback ./

              3. 系统会提示您输入密码。

              【讨论】:

              • 作为一个附加提示,我必须在 src 文件夹中才能工作,而在 Windows 上它只能在 cmd 提示符下工作,而不是 powershell 或其他任何东西
              【解决方案7】:

              尝试使用回滚选项运行 appcfg.py。见docs

              appcfg.py [选项] 回滚

              撤消给定应用程序的部分完成更新。你 如果有更新,可以使用它 中断,命令是 报告应用程序不能 由于锁定而被更新。

              【讨论】:

                【解决方案8】:

                对问题有更好的认识。

                在此处记录问题以供旁观者使用:

                我在 Google App Engine 项目中使用 Google 的 Plugin for Eclipse。由于网络问题,尝试在应用引擎服务器上部署应用程序失败。随后的尝试都失败了,因为之前的尝试创建了某种锁,并且必须回滚该事务。该插件不提供任何方法来做到这一点。必须通过命令行使用 appcfg 程序来回滚。 http://code.google.com/appengine/docs/java/tools/eclipse.html 有详细信息。我面临的问题是由于 appcfg.sh 上的操作系统级别权限而发生的。使用 chmod 授予 self 权限并使其正常工作。

                【讨论】:

                  猜你喜欢
                  • 2012-06-29
                  • 1970-01-01
                  • 2015-01-28
                  • 2017-09-09
                  • 1970-01-01
                  • 2014-04-11
                  • 2011-04-12
                  • 2012-04-26
                  • 2017-07-28
                  相关资源
                  最近更新 更多