2012-12-07 20 views
5

Ho creato un piccolo programma in Java che visualizza la sua origine .java con una GUI. Non usa FileChooser per farlo. Sto leggendo le fonti .java con l'ausilio di seguenti dichiarazioniUtilizzare i file .java del progetto come file di risorse

String resName = "/dev/classes/"+name+".java" 
Scanner s = new Scanner(FilePrinter.class.getResourceAsStream(resName)); 

dove name è il nome del file .java vale a dire se il file è MyProg.java allora name==Myprog. Ovviamente il mio programma è all'interno del pacchetto dev.classes

Il fatto è che quando esporto il mio progetto in JAR e includo i file sorgente questo funziona perché i file di origine risiedono all'interno della directory /dev/classes/.

Tuttavia, non ho ancora trovato un modo per far funzionare il mio programma in Eclipse o dalla riga di comando senza darmi un'eccezione.

E, naturalmente, quando qualcuno tenta di aggiungere quei file di origine da utilizzare automaticamente come file di risorse, il processo non riesce.

Posso in qualche modo utilizzare lo stesso codice sia quando si esegue da Eclipse e dal JAR? Deve essere qualcosa di molto banale ma perché non sono un esperto di Java che non riesco a vedere.

+0

È solo questione di assicurare la sorgente è all'interno del vaso che Eclipse fa. Se lo è, funzionerà. –

+0

Grazie @ andrew-thompson. L'ho assicurato e funziona all'interno del barattolo, ma non quando è eseguito direttamente da Eclipse. E come puoi capire, non è come un normale file .txt. I file .java non vengono copiati da Eclipse nella directory/bin /! –

+0

* "non è come un normale diciamo il file .txt." * Una fonte Java è solitamente una particolare codifica e l'estensione è diversa, e mentre avrà all'interno il codice 'Java', è molto simile a un testo file su un computer (o software). –

risposta

0

Ho trovato come farlo. In realtà devi usare Ant o Maven. Tuttavia, questo può essere fatto anche in Eclipse:

Sulle proprietà del progetto Eclipse> Percorso di costruzione Java è possibile scegliere nella cartella di output di default in basso: <your_project_name>/src.

Questo fa sì che i file di classe vengano compilati nella stessa directory dei file .java e infine faccia ciò che volevo.

Grazie a @AndrewThompson per il suggerimento di provare questo

Problemi correlati