Comment mettre en java -classpath pour deux répertoires?

J'essaye de faire un petit test de travail en Java. J'ai deux répertoires root et root/lib. J'ai un root/lib/Test.java fichier et un root/Foo.java fichier. Je peux compiler avec javac lib/Test.java et puis javac -classpath lib Foo.java et obtenez:

root/
 Foo.java
 Foo.class
 lib/
  Test.java
  Test.class

ici est de savoir comment ils ressemblent:

class Foo {
  static public void main(String[] argv) {
    System.out.println(Test.test());
  }
}

et

class Test {
  public static int test() {
    return 2;
  }
}

Comment puis-je exécuter de sorte qu'ils fonctionnent ensemble sans l'ajout d'une instruction d'importation? J'ai essayé java -classpath ".;lib" Foo mais je viens d'obtenir java.lang.NoClassDefFoundError: Foo

Lala: jeena$ cd root
Lala:root jeena$ java -classpath ".;lib" Foo
Exception in thread "main" java.lang.NoClassDefFoundError: Foo
Caused by: java.lang.ClassNotFoundException: Foo
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

OriginalL'auteur Jeena | 2011-04-25