2011-12-10 11 views
13

Come posso collegare l'origine a un pacchetto jar in eclissi?Come posso collegare l'origine a un pacchetto jar in eclissi?

Sto tentando di aggiungere la libreria esterna ch.ntb.usb.

ho aggiunto il file jar al mio percorso di generazione, ma quando ho cercato di eseguire l'applicazione che ha restituito il seguente errore:

The jar file ch.ntb.usb has no source attachment.

Ho usato JD-GUI per decompilare il file jar e la sorgente il codice è contenuto.

+1

a) Non è necessario decompilare un file jar, se contiene l'origine, per ottenere il sorgente. Vuoi dire 'unzip (: = jar -xf FILE.jar)' con 'decompilare'? b) Non è necessario il sorgente per eseguire un programma utilizzando un jar, ma l'IDE potrebbe averne bisogno per le descrizioni comandi, contenente l'aiuto o per il debug (passaggio nel codice). –

+0

Sì, forse intendevo decomprimere .... comunque ho "salvato tutte le fonti" con jd-gui nel mio percorso di build come ch.ntb.usb.src dopo aver decompresso il file jar. Quindi ho impostato l'allegato sorgente della libreria esterna su ch.ntb.usb.src. Questo l'ha risolto. Grazie per la risposta/input. –

+1

Rendi questa auto-risposta. Potrebbe sembrare un po 'strano, ma è molto utile per gli altri sapere che la tua domanda ha una risposta valida e utile. Trovare, e molto altro ancora, tornare indietro e riferirlo, significa, te lo meriti, ed è pratica usata (cerca meta, se non mi credi - forse la faq). –

risposta

3

I "salvati tutte le fonti" con JD-GUI nel mio percorso di generazione come ch.ntb.usb.src dopo aver decompresso il file jar. Quindi ho impostato l'allegato sorgente della libreria esterna su ch.ntb.usb.src. Questo risolve il problema.

+1

Per chiarimenti: a volte solo i file '. Class' sono presenti in un file jar. Quindi è necessario ottenere il codice sorgente in qualche modo, un modo è quello di ottenerlo da chiunque abbia fornito la libreria pertinente (cioè sul repository di codice sorgente SVN o GIT). Il vero trucco che hai fatto qui (non so se ti sei reso conto che l'hai fatto:]) è che quando fai "salva tutto il sorgente" su jd-gui, in realtà * creava i file java * per te :) –

+0

Nota che quando tu " creare i file java "usando un decompilatore, i commenti NON saranno presenti in queste classi' .java' create. Quindi, durante il debug, il debugger potrebbe non essere in grado di sincronizzare correttamente (cioè indicherà che si sta eseguendo la riga 120 quando la riga 100 è effettivamente eseguita). Quindi è sempre meglio se puoi ottenere il vero codice sorgente (che include i commenti) –

9

Dubito che si ottenga quell'errore quando si esegue il progetto solo se si ha un errore nel codice e il debugger di Eclipse tenta di mostrare la riga di codice che causa l'eccezione, comunque potrebbe essere necessario disporre di file di origine di una libreria per debug scopo, per collegare la sorgente a un pacchetto barattolo in Eclipse è possibile seguire questi semplici passi:

  • trovare il pacchetto che si desidera aggiungere alla sorgente sotto librerie di riferimento in Package Explorer
  • Fare clic destro sul biblioteca
  • Seleziona Proprietà
  • andare sotto sorgente Java Allegato
  • selezionare la directory o l'archivio in cui si trova la sorgente.

example

+0

Grazie per questo, dopo aver seguito le istruzioni. Ho clonato il repository e aggiunto. Ma Open Declaration mi porta in un file .class invece di .java. puoi per favore chiarire? – vikramvi

0

So che è abbastanza tardi, ma sarà utile per l'altro utente, come possiamo fare Lavoro utilizzando tre modi ... come sotto
1) 1. Attaccare il codice sorgente utilizzando
, quindi fare clic con il tasto destro del mouse sul progetto, quindi Proprietà -> Percorso build Java -> collegare la fonte nella scheda sorgente oppure rimuovere il file jar e collegare il codice sorgente nella scheda librerie
2. Uso eclipse source Analyzer
Nel mercato dell'eclissi è possibile scaricare il plug-in java source analyzer che viene utilizzato per allegare il codice sorgente del file jar open source. possiamo ottenerlo dopo aver installato il plugin, facendo clic con il tasto destro del mouse sul jar open source e selezionando l'opzione attach source.
3. Usando Jadclipse in eclissi lo puoi fare
non ultimo, puoi ottenere la decompilazione del codice usando questo plugin. è un modo simile per scaricare il plug-in dal marketplace di eclipse e installarlo in eclissi. in vista jadclipse puoi vedere il tuo.file di classe per decomplile formato sorgente nota qui non si può vedere il commento e le cose nascoste

0
  1. clic destro in Package Explorer vostro progetto
  2. Selezionare Proprietà
  3. Seleziona Android
  4. Scorrere verso il basso
  5. Sotto Biblioteca fai clic su Aggiungi
  6. Seleziona il Lib necessario e premi OK
Problemi correlati