Jsonengine环境搭建及上传GAE错误处理

    最近学习jsonengine, 在HowToInstall新的jsonengine到GAE(Google App Engine)是遇到了一些编译和上传错误,现总结如下。

环境搭建:

    1)下载并安装JDK7. 最新的GAE版本推荐使用JDK7.

    2)   下载GAE的SDK-java版本,参考App Engine SDK for Java, 并解压到磁盘,例如解压到D:\appengine-java-sdk-1.8.0,这里SDK版本号为1.8.0

    3)下载jsonengine并解压,这里放到了D:\jsonengine

    4)编译jsonengine

         > cd appengine-java-sdk-dir\bin
         > dev_appserver.cmd jsonengine-dir\war
          此时编译可能会出错,提示“...You probably want to enable concurrent requests...”  ,此时需要在配置文件appengine-web.xml文件中添加 threadsafe字段,并置为true.

           ...

          <application>jsonleen</application>
          <version>1.0.0</version>
          <threadsafe>true</threadsafe>

           ...


      5)  上传jsonegine

       > cd appengine-java-sdk-dir\bin
       > appcfg.cmd update jsonengine-dir\war
       次过程中遇到 两个错误:

      a. JSP编译错误,提示

Unable to update:

com.google.appengine.tools.admin.JspCompilationException: Failed to compile jsp files.

at com.google.appengine.tools.admin.Application.compileJsps(Application.java:779)

at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:617)

at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:385)

at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55)

at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1281)

at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:315)

at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:202)

at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:118)

at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:114)

com.google.appengine.tools.admin.AdminException: Unable to update app: Failed to compile jsp files.

at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:391)

at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55)

at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1281)

at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:315)

at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:202)

at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:118)

at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:114)

Caused by: com.google.appengine.tools.admin.JspCompilationException: Failed to compile jsp files.

at com.google.appengine.tools.admin.Application.compileJsps(Application.java:779)

at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:617)

at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:385)

... 6 more

           解决办法是:修改脚本appcfg.cmd,将

             java -Xmx1100m -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %*

           调整为

              "D:\Program Files\Java\jdk1.7.0_21\bin\java" -Xmx1100m -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %*

            即实际指定java的路径,而不是自动搜索,参考http://fyhao.com/2010/12/computer-and-it/appengine/google-appengine-jsp-compilation-problem/

       

         b. 版本号错误.  

             由于在步骤4)中将version字段由默认的1修改成了1.0.0. 由于1.0.0不符合GAE规范,导致后面上传时出现了500 Internal Server Error错误.

           ...

            com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/crea
           te?app_id=jsonleen&version=1.0.0&
            500 Internal Server Error

            ...

          解决办法:修改版本号为1.  规范要求版本号字符可以为字母、数字或连接符(-).  

            参考http://stackoverflow.com/questions/9198398/gae-unable-to-update-com-google-appengine-tools-admin-httpioexception





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值