Pregunta

¿Cuál es el propósito de las clases en este paquete?

Quiero usar la codificación Base64 en mi aplicación. Mientras escribo en Eclipse, se me pregunta si quiero importar una clase llamada "com.google.appengine.repackaged.com.google.common.util.Base64 "

No puedo encontrar ninguna documentación sobre lo que hace esta clase. Sin javadoc, o sin mención en el manual de Google App Engine (que puedo ver). ¿Es esto una especie de "oculto"? ¿API a la que se supone que no tengo acceso?

¿Fue útil?

Solución

  

¿Es esto una especie de "oculto"? ¿API a la que se supone que no tengo acceso?

Sí.

El propósito de reempaquetar las clases Java es tener una copia privada de una biblioteca que de otra manera podría entrar en conflicto con otra versión de esa biblioteca (que el desarrollador de la aplicación agrega a su proyecto como un archivo jar).

Es una posible respuesta a JAR-hell.

Incluso el JDK hace uso de este mecanismo, p. con com.sun.org.apache.xerces, que es una biblioteca de análisis XML desarrollada por el Proyecto Apache que Sun elige incluir (reempaquetado).

No llame a estas clases directamente. (Podría, y probablemente funcionarían bien, pero como no son parte de la API oficial, podrían desaparecer en la próxima versión).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top