2013-07-23 21 views
9

In primo luogo, questa è una domanda molto n00b. Ma essendo uno sviluppatore junior non ho mai avuto bisogno di importare e lavorare con altri framework Java. La libreria standard era sempre abbastanza buona per me da scrivere le classi che dovevo scrivere.Utilizzo e importazione di librerie/framework esterni in Java

Ma ora mi sto esponendo a concetti più "avanzati", ho bisogno di iniziare a lavorare con framework esterni, ad es. JSON per Java, HttpClient di Apache per java e così via. E sto cercando una comprensione di base su come funziona e su come importare queste librerie in modo da poter iniziare a lavorare con le classi ...

Quindi la mia comprensione iniziale è che ognuno di questi fraemworks ti fornirà un file .jar che contiene tutte le classi per il framework. Che poi importi nel tuo progetto e vedi che sarai in grado di utilizzare le classi/la libreria nel tuo progetto semplicemente importandolo ad es. 'import org.json. *;'

L'intesa è corretta?

risposta

4

Corretto.

Basta aggiungere le librerie al classpath e ora è possibile utilizzare le classi da queste librerie. Il modo in cui si aggiungono le librerie al classpath dipende dal proprio ambiente di sviluppo. Ad esempio, se usi Apache Maven, devi solo definire le dipendenze (libs) nei tuoi progetti pom.xml e Maven li scarica automaticamente per te.

hth,
- Martin

+0

Grazie per avermi a Maven, sembra davvero utile. Ho sempre sentito parlare bene, forse è ora di iniziare a usarlo. – Tiwaz89

3

EDIT: Il seguente si applica solo se non si utilizza automatizzati build-strumenti come Maven o Ivy

Sì, questo è corretto. Per utilizzare un file .jar di terze parti, scaricare e posizionarlo in una posizione comoda (a livello di sistema o di progetto in base alle proprie esigenze) e quindi includerlo nel percorso di classe.

Quando si esegue dalla riga di comando fare:

java -cp /path/to/library:. path.to.main 

Il :. è necessario affinché la JVM troverà il metodo principale.

In un IDE si dovrebbe essere in grado di includere la libreria nel percorso di classe tramite il menu delle opzioni.

Poi si può solo utilizzare la libreria di terze parti come qualsiasi altro:

import name.of.library.class; 
//Do something 
+0

Grazie! 2 Domande però, in primo luogo quando aggiungete questi vasi al vostro CLASSPATH quindi sicuramente quando alla fine compilerete il vostro progetto e lo distribuirete, non funzionerà su altri sistemi poiché anche loro dovrebbero avere la determinata libreria nel loro CLASSPATH? In secondo luogo, i framework di terze parti forniscono sempre le proprie librerie sotto forma di vasi o talvolta forniscono anche file .java semplici? – Tiwaz89

+1

annuncio 1) sì, altri dovranno includere anche le librerie nel loro CLASSPATH. Maven fornisce il plugin di assembly per far fronte a questo problema. Vedi http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven per maggiori dettagli. ad 2) Un JAR è solo un archivio ZIP. Solitamente contiene classi compilate (file .class) ma può anche contenere fonti (file .java).I progetti OpenSource forniscono i JAR di origine e binari per i loro progetti per la maggior parte del tempo. Ad esempio, puoi cercare nel repository centrale di Maven http://search.maven.org/. –

+0

@ MartinHöller - Grazie ancora, ora tutto ha molto più senso. Fondamentalmente quello che sto chiedendo è (2) Che tipo di file dovrebbero essere nel tuo CLASSPATH? i file .java, i file .class o il file .jar (anche se questo è solo un archivio zip, cosa c'è all'interno di quell'archivio? .java o file .class?) – Tiwaz89

Problemi correlati