`
zhuyx808
  • 浏览: 122883 次
  • 性别: Icon_minigender_1
  • 来自: 快来看~天上米有灰机
社区版块
存档分类
最新评论

大战 GAE for java 莫名其妙的问题

    博客分类:
  • GAE
阅读更多
最新超级简单修改方式看http://zhuyx808.iteye.com/blog/379107

GAE for java 已经推出好长时间了,论坛上也有各种各样的介绍,按照介绍一步步搞,谁知竟然会出乱七八糟的问题,我下的是for eclipse的插件,至于搭建环境、建立工程我就不废话了,只说说其中遇到的问题,首先不是问题的问题就是把他们的demo下的guestbook给拷出来建立在myeclipse上,结果上来就出现一个红叉叉,报jsp异常,本地运行没问题,我就再没注意过这个叉叉了,其实这个也是一个问题,这个暂且先不谈。
因为本地运行没问题,所以就申请开通开始部署。结果部署的时候问题又来了,第一个问题忘了是什么问题,反正g了下有人说是war下面的appengine-generated下面的datastore-indexes-auto.xml里面有注释的问题,我把上面的注释删了,重新部署,于是第2个问题就来了,第2个问题就是报这个异常:java.lang.IllegalStateException: cannot find javac executable based on java.home
这个问题报的郁闷,检查下工程的各种属性没发现问题,又检查myeclipse的设置也没什么问题,于是只要继续g ,在http://onlypython.group.iteye.com/group/blog/366471找到
引用


上述错误的本质原因并不是你的JDK有问题,而是由于编码的原因!  因为下载的GAE JAVA SDK涉及到的编码问题。一般情况下windows的默认编码都为GBK之类,而*nix都是utf-8之类。 google当然也是需要utf-8才好的;所以报错中的javac 其实很可能是由于编译时需要加 -encoding 参数而已!

我心里就纳闷了不太可能吧,于是把工程的属性设置成UTF-8,继续部署,同样的问题继续出现。TNND 到底怎么回事,既然不能用插件,我用ant部署应该没问题吧,于是打开build.xml,终于,问题发现了,先看原文件:
<project name="Guestbook" default="datanucleusenhance">
  <property name="sdk.dir" location="../.." />

  <import file="${sdk.dir}/config/user/ant-macros.xml" />

  <path id="project.classpath">
    <pathelement path="war/WEB-INF/classes" />
    <fileset dir="war/WEB-INF/lib">
      <include name="**/*.jar" />
    </fileset>
    <fileset dir="${sdk.dir}/lib">
      <include name="shared/**/*.jar" />
    </fileset>
  </path>

  <target name="copyjars"
      description="Copies the App Engine JARs to the WAR.">
    <copy
        todir="war/WEB-INF/lib"
        flatten="true">
      <fileset dir="${sdk.dir}/lib/user">
        <include name="**/*.jar" />
      </fileset>
    </copy>
  </target>

  <target name="compile" depends="copyjars"
      description="Compiles Java source and copies other source files to the WAR.">
    <mkdir dir="war/WEB-INF/classes" />
    <copy todir="war/WEB-INF/classes">
      <fileset dir="src">
        <exclude name="**/*.java" />
      </fileset>
    </copy>
    <javac
        srcdir="src"
        destdir="war/WEB-INF/classes"
        classpathref="project.classpath"
        debug="on" />
  </target>

  <target name="datanucleusenhance" depends="compile"
      description="Performs JDO enhancement on compiled data classes.">
    <enhance_war war="war" />
  </target>

  <target name="runserver" depends="datanucleusenhance"
      description="Starts the development server.">
    <dev_appserver war="war" />
  </target>

  <target name="update" depends="datanucleusenhance"
      description="Uploads the application to App Engine.">
    <appcfg action="update" war="war" />
  </target>

  <target name="update_indexes" depends="datanucleusenhance"
      description="Uploads just the datastore index configuration to App Engine.">
    <appcfg action="update_indexes" war="war" />
  </target>

  <target name="rollback" depends="datanucleusenhance"
      description="Rolls back an interrupted application update.">
    <appcfg action="rollback" war="war" />
  </target>

  <target name="request_logs"
      description="Downloads log data from App Engine for the application.">
    <appcfg action="request_logs" war="war">
      <options>
        <arg value="--num_days=5"/>
      </options>
      <args>
        <arg value="logs.txt"/>
      </args>
    </appcfg>
  </target>

</project>

注意到上面 <property name="sdk.dir" location="../.." /> 这一句,sdk的目录并不在工程的上面,于是改成自己的插件目录${MyEclipse.home}\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.2.0.v200904062254\appengine-java-sdk-1.2.0 其中${MyEclipse.home}就是你的myeclipse/eclipse的安装目录,改好后部署上传一切OK,于是试着把datastore-indexes-auto.xml里添加注释,同样没问题。这时竟然发现工程上的红叉叉也没了。oh yeah~~~~~
2
0
分享到:
评论
4 楼 tidelgl 2009-07-12  
哎,其实现在才明白了,只要把JDK引入就OK了....
3 楼 tidelgl 2009-07-12  
没看明白啊楼主,我的GAE项目里没有build.xml啊..
2 楼 zhuyx808 2009-04-19  
duker 写道

明明说了是个预览版本,出问题当然是难免的了..python 版本的比较稳定,建议用pyton. google 也不是神,不可能保证东西一出来就完美..-------------------------------&nbsp; 程序员代码管理&nbsp; http://mysharecode.appspot.com/gwt中使用flashhttp://code.google.com/p/gwt-flash-bridge/

只是纳闷一个build.xml竟然能影响整个工程
1 楼 duker 2009-04-18  
明明说了是个预览版本,出问题当然是难免的了..
python 版本的比较稳定,建议用pyton.
google 也不是神,不可能保证东西一出来就完美..


------------------------------- 
程序员代码管理 
http://mysharecode.appspot.com/
gwt中使用flash
http://code.google.com/p/gwt-flash-bridge/

相关推荐

    GAE for java

    ### GAE for Java:深入解析与实践指南 #### 关于Google App Engine for Java Google App Engine for Java(简称GAE for Java)是Google为Java开发者提供的一个云计算平台,旨在简化高度可扩展应用的构建与部署...

    GAE for java英文帮助文档

    Goolge app engine for java英文帮助文档 最新的哦!

    GAE for linux (google_appengine_1.9.10)

    google_appengine_1.9.10 for linux 发布于2014-08-28 To install on Linux: Unzip the App Engine SDK file you downloaded (google_appengine_1.9.10.zip), for example: unzip google_appengine_1.9.10.zip ...

    GAE--java使用入门.doc

    为了开发GAE的Java应用程序,你需要安装**Java Software Development Kit (Java SDK)**,支持Java 5和Java 6,但推荐使用Java 6以确保与App Engine环境匹配。对于Mac用户,可以从Apple的Java开发者网站获取适用于Mac...

    基于Google App Engine(GAE)的Java和GWT应用开发

    基于Google App Engine(GAE)的Java和GWT应用开发_Google App Engine Java and GWT Application Development Nov.2010

    基于Google.App.Engine(GAE)的Java和GWT应用开发.pdf

    中文名: 基于Google App Engine(GAE)的Java和GWT应用开发 原名: Google App Engine Java and GWT Application Development 作者: Daniel Guermeur, Amy Unruh 资源格式: PDF 版本: 文字版 出版社: Packt ...

    GAE上可以用的JAVA 博客源代码

    GAE上可以用的JAVA Blog源代码 可以在GAE上直接使用,支持图片上传等。 源代码是修改其他网友的普通blog程序而来,只做了必要的修改,原结构保留 最新版本请去主页下载 http://redpower1998.appspot.com 主页包括...

    基于GAE的Demo

    首先,Google App Engine(GAE)是Google推出的一个PaaS(Platform as a Service)平台,它允许开发者使用Java或Python等语言编写Web应用,并将这些应用部署到全球范围内的Google数据中心运行。GAE的优势在于其高...

    google appengine sdk for java

    The App Engine SDK for Java includes a local development server as well as the tooling for deploying and managing your applications in App Engine. By downloading, you agree to be bound by the Terms ...

    gae-java-first:Java 中的 Google Appengine 示例

    Google App Engine(GAE)是谷歌提供的一项托管服务,它允许开发者使用特定的框架和语言(如Java)在Google的基础设施上运行Web应用程序。在这个"gae-java-first"项目中,我们将探讨如何使用Java在Google App Engine...

    GAE解决中文乱码问题

    Google App Engine(GAE)是一个由Google提供的云服务平台,允许开发者部署基于Java、Python等语言的应用。当我们在GAE上处理包含中文字符的数据时,可能会遇到显示乱码的情况。本篇文章将详细解析如何解决GAE上的...

    GAE Java 中文文档

    从Google 上扒下来的! java 的中文文档~~ 方便大家学习! 打开"code.google.com\intl\zh-CN\appengine\docs"文件夹下的 docs.html 文件! 这是起始页!

    GAE使用规则

    GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则

    让gae支持php的方法

    1. **安装和配置Quercus**:首先,你需要下载Quercus的Java库,并将其添加到你的GAE项目类路径中。这可以通过在你的项目`lib`目录下放置Quercus的JAR文件来完成。 2. **构建PHP处理程序**:创建一个Java类作为PHP...

    spring+gae

    【标题】"Spring+GAE"揭示了将Google App Engine(GAE)与Spring框架集成的主题,这是一个在云端运行Java应用程序的关键技术组合。Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-...

    appengine-java-sdk-1.9.24

    **Google App Engine SDK for Java 1.9.24 知识点详解** Google App Engine (GAE) 是 Google 提供的一项平台即服务 (PaaS) 技术,允许开发者构建、部署和运行 web 应用程序。SDK(Software Development Kit)是用于...

    gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_

    【标题】"gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_" 提供的信息表明,这是一个使用PyTorch实现的图自编码器(Graph Autoencoder, GAE)项目,其核心是将自编码器的概念应用于图数据。...

    GAE入门教程

    pass之GAE入门教程, 学习GAE

    Google App Engine for Java快速入门指南v1.2.0

    ### Google App Engine for Java 快速入门指南 v1.2.0 #### 1. AppEngine简介 **1.1 什么是Google App Engine?** Google App Engine (GAE) 是一款由Google提供的平台即服务(PaaS),允许开发者在其基础设施上...

Global site tag (gtag.js) - Google Analytics