2010-01-16 8 views

Répondre

3

java -classpath google-collections.jar:. Test

Le ":." ajoute le répertoire courant au classpath si java peut trouver Test.class

+1

Non, cela ne fonctionne pas. "Impossible de trouver la classe principale: Test" – gamedevv

+0

Est-ce que 'Test.class' se trouve dans le répertoire courant? A-t-il une méthode public static void main (String [] args)? – ZoogieZork

+0

Est-ce que Test.java contient une méthode principale? –

3

Ce qui suit aura le répertoire courant et le google-colletions.jar comme classpath:

java -cp .;google-collections.jar Test 

Cela exécutera la méthode main dans la classe Test avec la signature suivante:

public static void main(String[]) 

note:

Comme l'a noté Paul Tomblin dans les commentaires, le caractère séparateur du chemin de classe est différent en fonction de la plate-forme sur laquelle s'exécute javac. Pour Solaris/Linux (et apparemment Mac OS), le séparateur est un deux-points (:), tandis que sous Windows, il s'agit d'un point-virgule (;).

Référence:

+0

Le séparateur sur -cp (ou -classpath si vous préférez) peut seulement être ';' sur Windows. Sous Linux et Mac OS, il doit être ':', et je crois que ':' fonctionne également sous Windows. –

+0

@Paul Tomblin, Merci de l'avoir signalé. Comme il se trouve, il semble que seulement ';' peut être utilisé comme séparateur sur Windows 'javac'. – coobird

+0

@coobird Oh chouette, c'est bon à savoir. N'a pas fait Java sur Windows depuis si longtemps ... :) – ZoogieZork