2009-08-04 97 views
11

這個包中的類的目的是什麼?谷歌App Engine「重新包裝」包

我想在我的應用程序中使用Base64編碼。當我在Eclipse中輸入時,系統提示是否要導入名爲「com.google.appengine.repackaged.com.google.common.util.Base64」的類

我無法找到任何文檔關於這門課的作用。沒有javadoc,或在Google App Engine手冊中沒有提及(我可以看到)。這是一種我不應該訪問的「隱藏」API嗎?

+0

在我看來,在標準GAE/J庫中沒有好的Base64編碼(我覺得這有點奇怪)。我想最好的選擇是apache.commons.codec或番石榴。 – Tom 2013-02-28 17:35:51

回答

12

這是某種我不應該訪問的「隱藏」API嗎?

是的。

重新包裝的Java類的目的是要有,否則可能會與另一個版本衝突庫的專用副本,一些庫(應用程序開發人員添加到自己的項目作爲一個jar文件)。

這是JAR-hell的一個可能的答案。

即使JDK也利用這種機制,例如,使用com.sun.org.apache.xerces這是由Sun Project選擇包含(重新打包)的Apache Project開發的XML解析庫。

不要直接調用這些類。 (你可以,他們可能會工作正常,但由於他們不是官方API的一部分,他們可能會在下一個版本中消失)。

+1

你可以隱藏這些包在Eclipse自動完成時顯示的完成:http://stackoverflow.com/questions/5538714/how-to-hide-some-eclipse-autocomplete-results – 2013-03-23 21:52:10