这两天在搞
Lite XML支持Google AppEngine环境的一些尝试。这里将我碰到的一些问题罗列一下。一是征求一下高手门的解决办法,二是备他人参考讨论:
关于Eclipse下环境搭建,貌似je上已有一片不错的文章介绍:
http://www.iteye.com/topic/363786
这里就不多说了,我只说一下我们需要忍受的问题,而且有一些我暂时还没有解决办法
开发环境(Eclipse 插件)和线上环境严重不一致
这是我最头疼的问题。
1.本地调试环境下,一些静态资源经常被定位错误。
比如我的/styles/default.css,经常被定位为:/styles/default.css/index.html
猜测原因,对于静态资源来说,GAE服务器上是有专门的程序处理的(static/resource概念就为这个吧)
或者说,线上环境下可能根本就不是通过java环境处理静态资源,是他也就不可能有这类问题,但是本地调试环境全部资源都是jetty处理的,可能是某些处理目录默认索引页定向的bug导致了这种资源重定向的问题。
解决办法:我没找到,上传到服务器就好了。
2.服务端环境下,一些通配符(*.xxx这类)的 servlet-url mapping经常失效
具体重现方法还没找到,这点是非常让人郁闷的,经常本地调试正常,上传到服务器就不对了,反复排查,最后发现莫名其妙的好了。
解决办法,没有
GAE沙箱的限制:
处于安全考虑,GAE有很多限制:
我碰到的问题有:
1.不支持文件写入,哪怕是你自己站点下的文件
解决办法:别写文件
2.不支持JDK自带的Rhino JS引擎
解决办法:如果您需要JS运行环境,您可以吧mozilla 的Rhino包扔进去,但是不能使用javax.script接口了,直接用rhino编程吧。
3.不支持XPath
虽然号称支持XSLT(我没有验证)但是却不支持XPath,这点极其诡异。
报错大概是这样的:
XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFactory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
解决办法:Apache 的 xalan.jar包仍进去吧,能后在用到的地方调用做一些必要的修改
if (xpathFactory == null) {
if (xpathFactoryClass != null) {
try {
//先创建指定的第三方xpath实现
xpathFactory = XPathFactory
.newInstance(XPathFactory.DEFAULT_OBJECT_MODEL_URI,
xpathFactoryClass, this.getClass()
.getClassLoader());
} catch (Exception e) {
log.error("自定义xpathFactory初始化失败", e);
}
}
if (xpathFactory == null) {
xpathFactory = XPathFactory.newInstance();
}
}
XPath xpathEvaluator = xpathFactory.newXPath();
其他注意事项
目录结构
war这个目录事固定的,我尝试修改,以失败告终
appengine-web.xml文件
这里有两个比较重要的概念
静态文件(static-files)可以看做你的Java程序无法访问的(估计GAE的静态资源和动态资源分开管理的)
资源文件(resource-files)运用程序可以访问的资源。
Google AppEngine文档上说,他们默认是把全部的资源都同时当作static files 和resource files的但是我有一个通配符失败之后的bug 就是配上这两个节点才莫名奇妙的正常的:
<static-files>
<include path="/**.js" />
<include path="/**.css" />
<include path="/**.json" />
<exclude path="/**.xhtml" />
</static-files>
<resource-files>
<include path="/**.*"/>
</resource-files>
分享到:
- 2009-04-12 18:36
- 浏览 1122
- 评论(0)
- 论坛回复 / 浏览 (0 / 2902)
- 查看更多
相关推荐
描述中提到的"GoogleApp开发的SDK(Java版)"进一步强调了这个SDK是专门为在Google App Engine上开发Java应用设计的。SDK提供了本地开发环境,开发者可以在本地计算机上模拟Google App Engine的环境,进行应用的开发...
Google App Engine for Java为Java开发者提供了一个全面而强大的云计算平台,不仅支持常见的Java Web开发技术,还引入了一系列创新特性,如自动伸缩、易于部署等,极大地降低了构建高性能Web应用的技术门槛。...
总结来说,"appengine-java-sdk"是开发和运行Java应用程序在谷歌AppEngine上的基石,它集成了GWT的支持,为开发者提供了完整的开发、测试和部署解决方案。利用这个SDK,开发者可以构建高效、可扩展的云应用,并享受...
综上所述,入门教程涉及到了安装与配置Eclipse开发环境、安装Google App Engine插件、创建和配置Web应用项目以及编译时的Java版本兼容性问题,这些知识点对于想要开始使用Google App Engine开发Web应用的开发者来说...
Google App Engine for Java 是一个平台,允许开发者使用Java语言构建并托管网络应用程序,该平台运行在Google的强大可扩展基础设施上。这个平台的核心特性是它的Java运行时环境,它基于Java 6虚拟机(JVM),并且...
Eclipse Google 插件 Google App Engine SDK for Java Google App Engine文档 按钮 Google App Engine 开发包
在谈论《云端代码Google App Engine编程指南》之前,我们需要先了解一下Google App Engine(GAE)平台的背景知识。Google App Engine(简称GAE)是由Google公司提供的一个无服务器(serverless)的云计算平台,该...
Eclipse Google 插件 Google App Engine SDK for Java Google App Engine文档 按钮 Google App Engine 开发包
在“google-appengine-docs-20081003”这个压缩包中,可能包含了早期版本(2008年10月3日)的Google App Engine开发指南、API参考、最佳实践和示例代码等内容。这些文档帮助开发者了解如何利用Google App Engine构建...
1. **安装和配置**: 首先,你需要下载并安装Google App Engine SDK,它包含了开发和部署应用所需的工具。然后,设置你的开发环境,确保你有合适的编程语言环境。 2. **创建项目**: 使用SDK创建一个新的项目,并配置...
Google App Engine Docs,Google App Engine开发人员指南(Java版),简体中文离线文档,起始页为主目录下的appengine\docs\docs.html
《 Beginning Java™ Google App Engine》是一本面向初学者至中级开发者的专业指南,旨在教你如何使用Java技术在Google App Engine上构建云端应用。Google App Engine是一个强大的云计算平台,它为Java开发者提供了...
Java版本的App Engine,即我们讨论的"appengine-java-sdk-1.8.7.zip",是Google专门为Java开发者提供的工具包,用于在GAE上开发应用。 **主要组件和功能** 1. **SDK(Software Development Kit)**: SDK包含了开发...
在**Google App Engine**上开发应用,你需要理解以下几个关键知识点: 1. **开发环境与部署**: 使用Google提供的SDK(软件开发工具包)进行本地开发和测试。SDK包括了模拟器,可以在本地环境中运行App Engine应用。...
在Google App Engine上开发Flex应用是一项技术性强且充满挑战的任务,它涉及到多个技术栈的集成。Google App Engine(GAE)是一个基于云的平台,用于构建和运行Web应用程序,而Flex是一种用于创建富互联网应用程序...
安装完必要的工具后,可以通过Appengine-java-sdk在本地启动模拟器。这将模拟实际的App Engine环境,让你可以在开发过程中测试应用程序的功能和性能。 **2.5 上传应用程序到App Engine 上** 完成开发和测试后,下...
标题中的"appengine-java-sdk-1.5.0.1.zip"表明这是一个关于Google App Engine Java SDK的压缩包,版本号为1.5.0.1。App Engine是由Google提供的一个平台,允许开发者使用Java或Python等语言创建并运行web应用程序。...
Google App Engine(简称GAE)是Google于2008年推出的一项云服务,允许开发者使用Python、Java、Go等多种语言构建并部署Web应用。GAE提供了自动扩展、高可用性和全球分布等特性,使开发者能够专注于编写代码而无需...