Пакет Google Repack Pack для Google App Engine

Какова цель классов в этом пакете?

Я хочу использовать кодировку Base64 в своем приложении. Когда я печатаю в Eclipse, мне будет предложено импортировать класс под названием "com.google.appengine.repackaged.com.google.common.util.Base64"

Я не могу найти документацию о том, что делает этот класс. Нет javadoc, или нет упоминания в руководстве Google App Engine (что я вижу). Это какой-то "скрытый" API, к которому у меня не должно быть доступа?

Ответ 1

Это какой-то "скрытый" API, к которому у меня не должно быть доступа?

Да.

Целью переупаковки классов Java является наличие частной копии библиотеки, которая в противном случае могла бы конфликтовать с другой версией этой библиотеки (которую разработчик приложения добавляет к своему проекту как файл jar).

Это один из возможных ответов на JAR-hell.

Даже JDK использует этот механизм, например. с com.sun.org.apache.xerces, который представляет собой библиотеку синтаксического анализа XML, разработанную Apache Project, которую Sun выбирает для включения (переупаковка).

Не вызывайте эти классы напрямую. (Вы могли бы, и они, вероятно, будут работать нормально, но поскольку они не являются частью официального API, они могут исчезнуть в следующей версии).