Estoy intentando hacer una pequeña prueba trabajando en Java. Tengo dos directorios root
y root/lib
. Tengo un archivo root/lib/Test.java
y un archivo root/Foo.java
. Puedo compilar ambos con javac lib/Test.java
y luego javac -classpath lib Foo.java
y obtener:Cómo establecer java-classpath para dos directorios?
root/
Foo.java
Foo.class
lib/
Test.java
Test.class
aquí es cómo se ven como:
class Foo {
static public void main(String[] argv) {
System.out.println(Test.test());
}
}
y
class Test {
public static int test() {
return 2;
}
}
¿Cómo ellos se ejecutan por lo que trabajar en conjunto sin agregar un estado de importación? He tratado java -classpath ".;lib" Foo
pero acabo de conseguir 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)
Es Linux y OS X lo estaba probando. De hecho, estaba en la raíz, tal vez debería volver a escribir la pregunta un poco. – Jeena
¡Oh, ah! Ok, ahora lo entiendo, debería usar ":" en lugar de ";" ¡muchas gracias! – Jeena