«Переупакованный» пакет Google App Engine
-
22-07-2019 - |
Вопрос
Какова цель занятий в этом пакете?
Я хочу использовать кодировку Base64 в своем приложении.Когда я печатаю в Eclipse, мне предлагается импортировать класс с именем «com.google.appengine.repackaged.com.google.common.util.Base64».
Я не могу найти никакой документации о том, что делает этот класс.Никакого javadoc или упоминания в руководстве Google App Engine (которое я вижу).Это какой-то «скрытый» API, к которому у меня нет доступа?
Решение
Это какой-то «скрытый» API, к которому у меня нет доступа?
Да.
Целью переупаковки классов Java является получение частной копии библиотеки, которая в противном случае могла бы конфликтовать с другой версией этой библиотеки (которую разработчик приложения добавляет в свой проект в виде jar-файла).
Это один из возможных ответов на JAR-ад.
Даже JDK использует этот механизм, например.с com.sun.org.apache.xerces, библиотекой синтаксического анализа XML, разработанной проектом Apache, которую Sun решила включить (переупаковать).
Не вызывайте эти классы напрямую.(Вы могли бы, и они, вероятно, будут работать нормально, но, поскольку они не являются частью официального API, они могут исчезнуть в следующей версии).