2015-04-03 8 views

risposta

4

Sono gli stessi, controllare http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

-classpath classpath classpath -cp Specifica un elenco di directory, i file JAR e archivi ZIP per la ricerca di file di classe. Voci di percorso classe separate con punto e virgola (;). Specificando -classpath o -cp sovrascrive qualsiasi impostazione di variabile di ambiente CLASSPATH.

Se -classpath e -cp non vengono utilizzati e CLASSPATH non è impostato, il percorso della classe utente è costituito dalla directory corrente (.).

Per comodità speciale, un elemento di percorso classe che contiene una base nome * è considerato equivalente a specificare un elenco di tutti i file nella directory con il .jar estensione o JAR. Un programma Java non può indicare la differenza tra le due chiamate.

Ad esempio, se la directory mydir contiene a.jar e b.JAR, poi la classe di elemento percorso mydir/* si espande ad un A.jar: b.JAR, tranne che l'ordine dei file jar non è specificato . Tutti i file jar nella directory specificata, anche nascosti, sono inclusi nell'elenco. Una voce di classe costituita semplicemente da * si espande in un elenco di tutti i file jar in nella directory corrente. La variabile di ambiente CLASSPATH, in cui è definito , verrà espansa in modo simile. L'eventuale espansione con caratteri jolly del percorso classe si verifica prima dell'avvio della VM Java. Nessun programma Java vedrà mai le wild card che non vengono espanse se non eseguendo query sull'ambiente. Ad esempio, chiamando System.getenv ("CLASSPATH").

2

Non c'è alcuna differenza. Indica solo al compilatore Java che si desidera utilizzare un classpath personalizzato specificato nell'argomento della riga di comando.

Quindi -cp e -classpath sono completamente equivalenti.

Puoi trovare ulteriori informazioni sulla pagina javac - Java programming language compiler.

1

Non c'è nessuno. Sono entrambe le opzioni per l'impostazione del classpath. Vedi lo man page.

Problemi correlati