Sta*_*Man 3 java google-app-engine stax jdk1.6
看起来GAE选择了JDK 1.6类的子集,如下所示:
这是非常不幸的,因为人们会在最常见的java库中获得类链接错误,这些java库处理数据绑定,反射,类加载和注释.虽然有些遗漏可能是针对已弃用或遗留的东西,但还有一些遗漏不是.我特别关注的是流式拉解析器(javax.xml.stream.*),它经过长时间的延迟(API与JDK 1.4大致同时完成)后刚刚添加到JDK 1.6中.省略这一点使得进行可扩展的高性能xml处理变得更加困难.
我理解的问题是,不仅缺少类,而且由于安全性限制,甚至无法添加它们.
所以:这是一个开放式的哲学问题,可能只是GAE开发人员可以肯定回答但是......为什么有些API从标准的JDK 1.6中掉线,看似随意?
更新:
快速说明:感谢您的回答.对于它的价值我真的不知道安全性与不包括javax.xml.stream有什么关系.安全方面与许多其他事情相关(例如,我不需要线程,并且可以看出它们为什么会出局),所以这是可以理解的样板答案; 只是不适用于这个.
Stax API只是一组接口和摘要,用于大声喊叫.但更重要的是,它与SAX,DOM和JAXP接口具有完全相同的分支 - 已经包括在内!
但看起来这个问题已引起谷歌开发者的关注:
所以这里希望能够迅速解决这个问题和类似问题.
GAE在托管环境中运行,其中包含不受信任(可能是恶意)的客户端,这些客户端通常可以免费访问.
在这种类型的环境中,安全性是一个非常高的问题,具有文件系统访问权限的API受到非常严格的审查.我认为这就是为什么他们选择以他们允许的方式开始时相当保守.
但是,当安全问题得到解决(并且基于需求)时,如果有更多的课程进入白名单,那就不会让我感到惊讶.
但我甚至不希望获得线程工具,例如.