2010-02-09 6 views
1

J'aijavac -classpath problème avec plusieurs dirs

c:\sources avec

A.java 
B.java 
com\pluto\B.class 
Test.java 

et

c:\packages with

com\pluto\oth\C.class 

dans Test.java il y a des références à B et C (correctement im rétroportage) mais lorsque je tente de compiler avec (je suis dans c:\sources)

javac -classpath \.;c:\packages Test.java 

le compilateur me dire qu'il ne trouve pas B

mais si je déménage B.java de c:\sources à un autre répertoire, puis Je compiler avec

javac -classpath .;c:\packages Test.java 

cela fonctionne!

Comment dois-je définir le répertoire actuel? . ou \. et pourquoi le premier test échoue-t-il?

... il semble que le compilateur ne veut pas trouver un fichier de classe com/pluto/B.class et un fichier source avec le même nom B.java dans le répertoire courant où je compile. ..

+0

Pourquoi avez-vous un B.java dans le paquet par défaut et un B.class dans le paquet com/pluto? Si ce sont la même classe, quel est le bon package? –

+0

Que voulez-vous dire par "couper B.java"? –

+0

Le bon package est com \ 0plus ... couper -> éloigner B.java de c: \ sources – xdevel2000

Répondre

4

Utilisez . pour faire référence au répertoire en cours. \. fait référence au répertoire racine du lecteur en cours (par exemple, C:\).

+0

. ou. \ pour se référer au répertoire courant –