2011-11-18 10 views
7

Quali sono i diversi modi in cui i programmi Java accedono alle librerie esterne. C'è l'impostazione di un classpath, che modifica il percorso di build o di build, ma ho visto altri modi per aggiungere giare.Qual è la differenza tra l'impostazione del percorso di classe e il percorso di sviluppo java in eclissi?

Perché alcune librerie devono essere aggiunte al classpath mentre altre no. Ad esempio sto usando JSF, strumenti WTP e altre librerie extra ma non sono nel mio buildpath quando visualizzo il percorso di costruzione del mio progetto.

risposta

6

Java Build Path è solo una cosa di Eclipse. È qui che Eclipse trova le classi necessarie per compilare ed eseguire le classi del progetto. È quindi sia la compilazione che il percorso di classe di esecuzione.

Nel caso di una webapp, l'applicazione web viene eseguita all'interno di un contenitore Web Java EE. Il contenitore web dà accesso alle classi Java EE standard (javax.servlet, ecc.). Inoltre, tutti i vasi in WEB-INF/classi sono automaticamente inclusi nel classpath dell'app Web. Quindi Eclipse non ha bisogno che tu li specifichi nel percorso di costruzione Java. Sono inclusi automaticamente.

+0

Dove è memorizzato il classpath? È una variabile di ambiente nel sistema operativo o qualcosa impostato nella JVM? – Randnum

+1

Viene passato alla JVM utilizzando l'opzione -classpath o -cp. Aprire la vista Debug in Eclipse, eseguire un programma all'interno di Eclipse, fare clic con il tasto destro del mouse sul nodo ... javaw.exe nella vista Debug e fare clic su "Proprietà" per vedere quale comando viene utilizzato da Eclipse per avviare il programma. –

13

Il percorso di classe viene utilizzato per trovare le classi quando esegue un programma Java. Il percorso di generazione viene utilizzato quando Eclipse è che compila il un programma Java.

+0

Molto breve e dolce .... Sono d'accordo .......... – water

1

In fase di sviluppo.

Un percorso di generazione è uno in cui è possibile puntare esplicitamente a software/barattoli di terze parti.

Per impostazione predefinita, non tutti i software di terze parti vengono aggiunti al classpath, quindi potrebbe essere necessario aggiungerlo esplicitamente al percorso.

In fase di esecuzione.

D'altra parte, quando si eseguono le applicazioni dalla riga di comando, si esegue il prefisso del classpath utilizzando -cp per specificare i contenitori di terze parti.

Ad esempio, nei progetti Web lo si aggiungerà alla libreria Web-inf quando si distribuisce.

0

Un percorso di classe è semplicemente una matrice di voci di percorso di classe (IClasspathEntry) che descrivono i tipi disponibili. Il classpath è una variabile di ambiente che indica dove cercare i file di classe ed è generalmente impostato su una directory o su un file JAR (archivio java).

Il percorso di build Java si riflette nella struttura di un elemento di progetto Java. È possibile interrogare un progetto per le sue radici del frammento del pacchetto (IPackageFragmentRoot). Il percorso di generazione è il classpath utilizzato per creare un progetto Java (IJavaProject).

Problemi correlati