【问题标题】:Google App Engine "repackaged" packageGoogle App Engine“重新打包”包
【发布时间】:2009-08-04 17:32:13
【问题描述】:

这个包中的类的用途是什么?

我想在我的应用中使用 Base64 编码。当我在 Eclipse 中打字时,系统会提示我是否要导入名为“com.google.appengine.repackaged.com.google.common.util.Base64”的类

我找不到任何关于这个类做什么的文档。没有 javadoc,或者在 Google App Engine 手册中没有提及(我可以看到)。这是某种我不应该访问的“隐藏”API吗?

【问题讨论】:

  • 在我看来,标准 GAE/J 库中没有好的 Base64 编码(我觉得这有点奇怪)。我想最好的选择是 apache.commons.codec 或 guava。

标签: java google-app-engine base64


【解决方案1】:

这是某种我不应该访问的“隐藏”API吗?

是的。

重新打包 Java 类的目的是拥有一个库的私有副本,否则可能会与该库的另一个版本(应用程序开发人员将其作为 jar 文件添加到他的项目)冲突。

这是 JAR-hell 的一种可能答案。

甚至 JDK 也使用了这种机制,例如com.sun.org.apache.xerces 是由 Apache 项目开发的 XML 解析库,Sun 选择包含(重新打包)。

不要直接调用这些类。 (你可以,而且它们可能会正常工作,但由于它们不是官方 API 的一部分,它们可能会在下一个版本中消失)。

【讨论】:

猜你喜欢
  • 2011-03-18
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 2016-03-04
  • 2017-01-07
  • 1970-01-01
相关资源
最近更新 更多