2010-05-07 7 views
5

Voglio dire, posso usare le classi com.sun.org.apache (tutti i sottopacchetti) mentre li uso da org.apache (in qualsiasi libreria di Apache)?com.sun.org.apache è uguale al pacchetto org.apache?

L'OpenJDK manterrà questo pacchetto aggiornato con gli aggiornamenti di apache?

E il JDK7 manterrà questo pacchetto?

Dove posso trovare informazioni al riguardo?

risposta

6

È una pessima idea usarlo. C'era una volta, Sun ha preso una copia di Xerces, pieno zeppo di insetti. Hanno fatto alcuni cambiamenti. Forse hanno sottratto alcuni errori. Sappiamo che ci sono molti bug molto seri che non hanno sottratto.

E lo hanno rinominato in com.sun .... per una ragione: per dirti di non usarlo. In qualsiasi momento, in qualsiasi punto di rilascio, in qualsiasi patch, possono cambiare quelle classi in modo incompatibile o rimuoverle.

Inoltre, queste classi non possono essere nella copia IBM di JRE, o Apple, o (haha) Microsoft o JRocket.

Se si desidera Xerces, utilizzare Xerces. Per trovare informazioni a riguardo, leggi l'archivio della mailing list Xerces-j per molti avvisi severi dagli sviluppatori di Xerces sulla versione biforcata da Sun.

Il fatto che le classi siano formalmente "pubbliche" non significa altro che Sun aveva bisogno di essere in grado di effettuare il new da un altro pacchetto.

1

Err Non lo farei, basandomi solo sul fatto che sono classi interne e c'è il rischio che cambino nel tempo. Utilizzare invece le classi org.apache.

Nessuna idea circa le intenzioni con tenerli aggiornati, forse prova a pubblicare un messaggio sul forum OpenJDK:

http://mail.openjdk.java.net/mailman/listinfo

0

Se la documentazione per questo pacchetto dice che è pubblico, quindi va bene anche uso.

Altrimenti possono raggruppare un piano sotto di voi quando decidono di non supportarlo in futuro.

In genere, non si deve fare affidamento su qualcosa di diverso da java e javax in JDK.

+2

o org.w3c ... non dimenticarlo. – bmargulies

1

La mia comprensione è che questo è un fork del codice apache. Ad un certo punto erano uguali, ma non di più. Quindi non puoi contare sulle stesse correzioni di bug presenti in entrambe le versioni.

Problemi correlati