Come si visualizza il codice sorgente di JRE in Eclipse?


85

Utilizzando Eclipse desidero visualizzare il codice sorgente per una classe Java principale (ad esempio java.util.concurrent.ConcurrentHashMap), ma quando mi sposto alla sorgente utilizzando "Open Declaration" viene visualizzato "Origine non trovata" e mi dà la possibilità di allegare la sorgente.

La mia domanda è; come si collega la fonte? Da dove ottengo il file .jar di origine per la java.util.concurrentlibreria?

Risposte:


84

Devi avere installato JDK. Quindi puoi guardare dentroJDK_INSTALL_DIR\src.zip

Per me lo è C:\Program Files\java\jdk1.6.0_11\(dipende dalla tua versione attuale)

Non è necessario ottenere una versione speciale open source.


3
E adesso? Oracle sembra nascondere la fonte? puoi per favore consigliare come fare lo stesso ora?
Ahmed Hamdy

95

Quando si codifica in Eclipse, premere CTRLe fare clic su qualsiasi nome di classe Java principale nella sorgente. Eclipse ora mostrerà una schermata che dice che non hai i sorgenti installati. Tuttavia, in questa schermata è presente un collegamento che dice "Allega sorgente ...". Fare clic su quel collegamento e importare il file src.zip dalla directory di installazione di JDK (src.zip). Questo dovrebbe fare il trucco


9

Ci sono alcune buone risposte qui su dove ottenere la fonte. Ma una parola di cautela: sarei diffidente su come lo usi (se lo usi semplicemente come riferimento). La documentazione API è l'unico contratto contro il quale dovresti codificare ed è ciò che gli sviluppatori manterranno coerente / intatto tra le versioni. Non userei la fonte per scoprire i dettagli di implementazione e quindi codificare le mie applicazioni in relazione a quei dettagli di implementazione, poiché potrebbero cambiare tra le versioni.


6

Dovresti essere in grado di vedere "JRE System Library [jdk1.x.xxxx]" quando guardi il percorso di build Java del tuo progetto.

È possibile accedere alla schermata di configurazione del percorso di compilazione del progetto: facendo clic con il pulsante destro del mouse sul progetto -> Percorso di creazione -> Configura percorso di compilazione ... Dovresti essere in grado di vedere la voce Libreria di sistema JRE in fondo all'elenco.

Il modo più semplice per visualizzare il codice sorgente per la classe è utilizzare il collegamento "Tipo aperto". L'impostazione predefinita per questa scorciatoia è: Ctrl+ Shift+ T". La classe che stai cercando dovrebbe apparire mentre digiti il ​​suo nome.



4

Per ubuntu, installa openjdk-6-source e usa /usr/lib/jvm/java-6-openjdk/src.zip


3

Se non riesci a trovare la sorgente effettiva, puoi anche utilizzare un decompilatore per rigenerare la sorgente dal file di classe.

Personalmente utilizzo JAD combinato con il plugin JADClipse per visualizzare i sorgenti in Eclipse.


3

Fare clic con il tasto destro sul progetto -> Build Path -> Configure Build Path. Ora modifica il tuo jre> seleziona la seconda opzione alternativa jre -> seleziona qualsiasi jdk ( non jre). Fine, ora apri qualsiasi classe con ctrl + clic, verrà visualizzato il suo codice sorgente.




0

È possibile utilizzare "Eclipse Class Decompiler integra JD, Jad" da Eclipse Marketplace.

Dalla casella di ricerca nel Marketplace di Eclipse scrivi: "jad" e lo troverai.


0

Il file src.zip è presente nella cartella jdk installata:..\Program Files\Java\jdk1.8.0_131

Fornire questo percorso sullo schermo che mostra Allega sorgente ... ha funzionato per me.


0

possiamo vedere C: \ Program Files \ Java \ jdk1.8.0_73 \ src.zip dove C: \ Program Files è una home directory in cui ho installato java.

in eclipse, verrà visualizzato come Sorgente non trovata . forma lì il collegamento verrà come sfoglia la fonte. sfoglia il collegamento C: \ Program Files \ Java \ jdk1.8.0_73 \ src.zip e allegalo. ora puoi vedere il tuo codice sorgente.


0

Il suggerimento di @jjnguy ha funzionato per me. Ma assicurati di aver cambiato anche il compilatore predefinito. Fare clic con il pulsante destro del mouse sul progetto -> Java Compiler-> Fare clic sul collegamento sotto Conformità JDK (sezione a destra).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.