Come javax contiene le estensioni, cosa dovrebbe contenere il pacchetto com.sun?Cosa contiene il pacchetto com.sun?
risposta
Contiene Sun Implementazioni di riferimento Oracle delle API Java standard (EE). Tra gli altri Mojarra (l'implementazione JSF di riferimento di Oracle) e Glassfish (l'implementazione Java EE di riferimento di Oracle) utilizzano questo pacchetto. È preferibile non utilizzare tali classi direttamente nel codice in quanto renderebbe il codice strettamente accoppiato all'implementazione. La codifica con l'API java(x)
consente direttamente di modificare l'implementazione senza modificare il codice (ad esempio MyFaces anziché Mojarra e JBoss AS invece di Glassfish).
Si prega di notare che il pacchetto com.sun.*
non deve essere confuso con sun.*
pacchetto che sono le classi interne dietro Oracle JRE che si dovrebbe absolutely not import/uso nel codice in quanto renderebbe il codice stretto accoppiato al JRE rendere/versione. Il non utilizzo del pacchetto sun.*
consente di eseguire il codice su tutte le altre implementazioni JRE (OpenJDK, GCJ, ecc.).
'java' API che usano il pacchetto' sun' - come sono supportate quando dipendono da pacchetti non supportati? – Lealo
@Lealo Perché sono gestiti dalle stesse persone. – BalusC
Queste persone quindi si assicurano che qualunque cosa stiano usando dal sun.package funziona? Altrimenti arrivano - o usano altri pacchetti per rimpiazzarli - così il mantenimento del proprio pacchetto 'java' continua a funzionare. L'ho capito correttamente? – Lealo
Pacchetti per uso interno a cui non si deve aver bisogno di accedere direttamente. Possono essere modificati o eliminati in qualsiasi versione di Java. È possibile trovare l'origine per tutti i pacchetti sun. * E com.sun. * In OpenJDK.
Il 'com.sun' namespace non è destinato all'implementazione JDK: http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html –
@raphw puoi aggiungere un link che supporta la tua affermazione. Il tuo link non menziona nemmeno com.sun. * –
Beh, il fatto che non menzionino nemmeno 'com.sun. *' Ma scrivi una sezione extra sull'uso di 'sun. *' È un primo suggerimento. Inoltre, Sun Microsystem ha rilasciato tutti i loro codici Java non JCL sotto 'com.sun': http://search.maven.org/#search|ga|1|com.sun dove l'uso delle classi' com.sun' è ovviamente inteso per essere legale. Inoltre, alcuni strumenti di JDK come doclet sono costruiti attorno al namespace 'com.sun'. –
Ci sono molti posti che usano i pacchetti com.sun
(alcuni dei quali sono menzionati in altre risposte). Questa risposta affronta in modo specifico l'uso di com.sun
all'interno di JavaFX. JavaFX is a UI library which is part of OpenJDK.
Un sacco di JavaFX implementation is in com.sun
classes. Quando JavaFX è open source, il following comment è stato fatto dagli sviluppatori JavaFX per quanto riguarda l'uso di com.sun
classi all'interno di JavaFX:
Come sempre, API non pubbliche (o meglio, API non supportato, il che significa tutto ciò che non è in javafx namespace come
com.sun.*
) non può essere dipeso da release a release. Ma per quelli di voi che si chiedono come funzionano le cose, ci sono alcune cose molto importanti nascoste nei pacchetti non supportati, e per quelli di voi che vogliono effettivamente hackerare OpenJFX, questo sarà di interesse ancora maggiore.
- 1. Convenzione di denominazione pacchetto Java di Sun: sole vs com.sun
- 2. Cosa contiene effettivamente il file eseguibile?
- 3. Bundle non valido, il pacchetto contiene pacchetti nidificati non consentiti, contiene file non consentito 'Frameworks'
- 4. Errore di convalida: il pacchetto contiene pacchetti nidificati non consentiti
- 5. Il pacchetto contiene oggetti e pacchetti con lo stesso nome
- 6. Nuget package manager console - Il pacchetto non contiene un manifest
- 7. Il pacchetto di applicazioni non contiene un identificatore valido
- 8. "Impossibile caricare il pacchetto A, contiene l'unità X, che è anche contenuta nel pacchetto B"
- 9. Git: il repository contiene una directory vuota - cosa succede?
- 10. Cosa succede se il pacchetto dell'app non contiene una chiave per la "chiave loc" ricevuta nella notifica push?
- 11. Cosa contiene ciascuna voce nella struttura Jmp_buf?
- 12. Cosa non contiene la cartella .git?
- 13. Che cosa contiene l'oggetto proxy Hibernate?
- 14. Riflessione Java: cosa contiene la mia raccolta?
- 15. Che cosa contiene un file oggetto?
- 16. Che cos'è il pacchetto SSIS e cosa fa?
- 17. errore Crea: manca com.sun artefatto: strumenti: vaso: 1.6
- 18. Errore "Archivio per acquisto in-app ... non valido. Il pacchetto contiene un eseguibile in 'Contents/xyz.m4a'"
- 19. Cosa fa l'intestazione manifest del pacchetto privato?
- 20. setup.py: previsto lista tra parentesi quando il nome pacchetto richiesto contiene un trattino
- 21. Utilizzando pacchetto data.table dentro il mio pacchetto
- 22. Dove si trova il codice sorgente Java per vari pacchetti com.sun. * Su Leopard?
- 23. C# Contiene il metodo
- 24. C# contiene il comportamento
- 25. Plist contiene il carattere "&"
- 26. JSONPath: contiene il filtro
- 27. HashSet contiene il metodo()
- 28. Impossibile scaricare il pacchetto: Impossibile trovare il pacchetto ... nel feed
- 29. Come importare il pacchetto java.nio.file
- 30. Errore ITMS-90206 Il pacchetto non valido contiene file non consentito 'Frameworks'
Cose come 'com.sun.mail.smtp' e' com.sun.net.httpserver', suppongo. http://www.google.ca/search?q=java+com.sun&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a – Ryan