Domanda

Qual è lo scopo delle classi in questo pacchetto?

Voglio usare la codifica Base64 nella mia app. Mentre scrivo via in Eclipse, mi viene richiesto se desidero importare una classe chiamata " com.google.appengine.repackaged.com.google.common.util.Base64 "

Non riesco a trovare alcuna documentazione su ciò che fa questa classe. Nessun javadoc o nessuna menzione nel manuale di Google App Engine (che posso vedere). È una specie di "nascosto"? API a cui non dovrei avere accesso?

È stato utile?

Soluzione

  

È una specie di "nascosto"? API a cui non dovrei avere accesso?

Sì.

Lo scopo del reimballaggio delle classi Java è di avere una copia privata di una libreria che altrimenti potrebbe entrare in conflitto con un'altra versione di quella libreria (che lo sviluppatore dell'applicazione aggiunge al suo progetto come file jar).

È una possibile risposta a JAR-hell.

Anche il JDK fa uso di questo meccanismo, ad es. con com.sun.org.apache.xerces che è una libreria di analisi XML sviluppata dal progetto Apache che Sun sceglie di includere (riconfezionato).

Non chiamare queste classi direttamente. (Potresti, e probabilmente funzionerebbero bene, ma poiché non fanno parte dell'API ufficiale, potrebbero scomparire nella prossima versione).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top