2013-03-25 24 views
6

Se hojava --classpath sovrascrive CLASSPATH o si aggiunge ad esso?

CLASSPATH=/blah;/foo 

Quindi eseguire

java -cp bar.jar com.yourcompany.SomeMain 

È il percorso di classe ora

bar.jar 

o è

/blah;/foo;bar.jar 

fa sostanzialmente la linea di comando s la strega sostituisce o incrementa lo esistente CLASSPATH?

+1

consultare questo [domanda] (http://stackoverflow.com/questions/2161468/java-classpath-option) – Jayamohan

risposta

2

sì !, l'opzione cp o percorso classe sostituisce la variabile di sistema. per ulteriori informazioni

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html

+1

In realtà il link si dà non dice se -cp sovrascrive la variabile d'ambiente. Dice solo che la variabile di ambiente e -cp sovrascrivono il valore predefinito (che è la directory corrente). – ktm5124

+0

Sì grazie, collegamento aggiornato! – solaechea

+0

Cool, grazie :-) – ktm5124

4

Sembra che l'opzione -cp sovrascrive la variabile d'ambiente CLASSPATH.

$ export CLASSPATH=Tests 
$ java Printf 
Team Name      No. of Wins   No. of Losses   
Bobcats      0     0      
Tigers       1     1      
Lions       2     2      
Cheetahs      3     3      
Jackals      4     4      
Leopards      5     5      
Snow Leopards     6     6      
Cougars      7     7      
Mountain Lions     8     8      
Bobcats      9     9      
$ java -cp . Printf 
Error: Could not find or load main class Printf 

La variabile di ambiente CLASSPATH è ancora impostato i test di cartella, tuttavia, quando si utilizza l'opzione -cp prevale, e cambia il classpath per ., la directory corrente, quindi il mio file di classe non può più essere trovato.

2

L'interruttore della riga di comando -cp sovrascrive. In effetti, poche altre cose sovrascrivono la variabile di ambiente CLASSPATH come lo switch -jar o le impostazioni del percorso di classe specifiche per IDE.

In ogni caso, se si desidera dare una rapida occhiata a quale percorso di classe viene fatto riferimento durante l'esecuzione del codice, è possibile considerare di visualizzare questa riga nella classe.

System.getProperty("java.class.path");