看起来 GAE 选择了 JDK 1.6 类的一个子集,如下所示:
这是非常不幸的,因为处理数据绑定、反射、类加载和注释的最常见的 Java 库到处都有类链接错误。尽管有些遗漏可能是针对已弃用或遗留的东西,但也有其他遗漏。我特别关心的是流式拉解析器 (javax.xml.stream.*),它在长时间延迟后才添加到 JDK 1.6(API 与 JDK 1.4 大约同时完成)。忽略这一点会使进行可扩展的高性能 xml 处理变得更加困难。
据我了解,问题不仅是缺少类,而且由于安全限制,它们甚至无法添加。
所以:这是一个开放式的哲学问题,可能只有 GAE 开发人员可以肯定地回答,但是......为什么有些 API 从标准 JDK 1.6 中删除,似乎是武断的?
更新:
快速说明:感谢您的回答。对于它的价值,我真的看不出安全性与不包括 javax.xml.stream 有什么关系。安全方面与许多其他事情相关(例如,我不需要线程,并且可以看到它们为什么会出现),所以这是可以理解的样板答案;只是不适用于这个。
Stax API 只是一组用于大声喊叫的接口和抽象。但更重要的是,它具有与包括 SAX、DOM 和 JAXP 接口完全相同的分支——这些接口已经包含在内!
但看起来这个问题已经引起了谷歌开发者的注意:
所以这里希望这个和类似的问题可以迅速得到解决。