12

这个包中的类的目的是什么?

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

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

4

1 回答 1

12

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

是的。

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

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

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

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

于 2009-08-04T09:32:13.723 回答