如何将appcfg.py用于使用谷歌的eclipse插件创建的google-app-engine项目?

时间:2010-01-11 18:34:35

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

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

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

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

无法从互联网上提供的文档中获得太多帮助。我唯一可以解决的是mac(我在Mac上),要使用的命令是appcfg.sh。在Eclipse内部,我查看了App-Engine SDK在我的机器上的位置并转到了该位置。 甚至在那里找到了appcfg.sh。但是当我尝试运行它时,它只报告错误“未找到命令”。尝试了各种替代方案来运行它(比如尝试使用sudo运行它,尝试将它作为./appcfg.sh运行,看它是否位于其中)但没有成功

有人可以告诉我运行apcfg命令后必须遵循的步骤吗?

8 个答案:

答案 0 :(得分:11)

作为应用部署期间内部服务器错误的结果, 我现在留下了待处理的事务,我需要回滚 在我再次部署之前。

  

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

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

C:\ Documents and Settings \ Amit \ My Documents \ newproject>“C:\ Program 文件\日食\插件\ 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>

提供者:JOHN

答案 1 :(得分:6)

我不认为这些答案有用。

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

    cd / Sites / appengine_myapp

  2. 现在你已经做到了。

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

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

答案 2 :(得分:4)

尝试使用rollback选项运行appcfg.py。请参阅docs

  
    

appcfg.py [options]回滚     

         

取消给定应用程序的部分完成更新。您     如果有更新,可以使用此功能     打断了,命令就是     报告申请不能     由于锁定而更新。

  

答案 3 :(得分:4)

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

答案 4 :(得分:3)

更好地了解了这个问题。

为了旁观者的利益在这里记录问题:

我正在使用Google的Eclipse插件进行Google App Engine项目。由于网络问题,尝试在app-engine服务器上部署应用程序失败。后续尝试失败,因为先前的尝试已创建某种锁并且该事务必须回滚。该插件不提供任何方法来执行此操作。必须使用appcfg程序通过命令行进行回滚。 http://code.google.com/appengine/docs/java/tools/eclipse.html有详细信息。由于appcfg.sh上的操作系统级权限,我遇到的问题就出现了。拥有使用chmod的自己的权限,可以让它运行。

答案 5 :(得分:0)

答案 6 :(得分:0)

使用命令行部署应用程序,请按照下列步骤操作:

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

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

答案 7 :(得分:0)

我遇到了运行Eclipse提供的appcfg的问题。我不得不为python安装Python + App Engine sdk,并从appcfg.py functinnalities中受益。它虽然在Windows上。