Problemas con paquetes, librerias y Classpath
Saludos A Todos, a ver si me dan una mano
Quiero empezar a trabajar con lo que serÃa la creacion de mis propias librerias. Tengo 2 classes (A y B) en
diferentes paquetes:
package prueba;
public class A{
public A(){
System.out.println("Contructor Clase A");
}
public static void main(String [] args){
System.out.println("Clase A");
}
}
package test;
import prueba.*;
public class B{
B(){
System.out.println("Contructor Clase B");
}
public static void main(String [] args){
System.out.println("Clase B");
A A1 = new A();
}
}
Tengo configurado mi classpath asi: D:johano;
Ambas classes me compilan sin errores, pero cuando trato de correrlas cada uno por separado en su directorio me dan el sgte
error:
D:johanotest>javac B.java
D:johanotest>java B
Exception in thread "main" java.lang.NoClassDefFoundError: B (wrong name: B)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
De la unica manera que la Clase B me corre es si le comento la primera linea (package test;), es decir, y lo que quiero es
que perteneciendo a un paquete distinto, pueda ambien importar con IMPORT otro paquete.
Me pueden decir q estoy haciendo mal, por q me da ese error, ademas donde puedo aprender mas sobre como configurar mis
directorios y mis librerias con el classpath. Gracias, les saludo de antemano.
Quiero empezar a trabajar con lo que serÃa la creacion de mis propias librerias. Tengo 2 classes (A y B) en
diferentes paquetes:
package prueba;
public class A{
public A(){
System.out.println("Contructor Clase A");
}
public static void main(String [] args){
System.out.println("Clase A");
}
}
package test;
import prueba.*;
public class B{
B(){
System.out.println("Contructor Clase B");
}
public static void main(String [] args){
System.out.println("Clase B");
A A1 = new A();
}
}
Tengo configurado mi classpath asi: D:johano;
Ambas classes me compilan sin errores, pero cuando trato de correrlas cada uno por separado en su directorio me dan el sgte
error:
D:johanotest>javac B.java
D:johanotest>java B
Exception in thread "main" java.lang.NoClassDefFoundError: B (wrong name: B)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
De la unica manera que la Clase B me corre es si le comento la primera linea (package test;), es decir, y lo que quiero es
que perteneciendo a un paquete distinto, pueda ambien importar con IMPORT otro paquete.
Me pueden decir q estoy haciendo mal, por q me da ese error, ademas donde puedo aprender mas sobre como configurar mis
directorios y mis librerias con el classpath. Gracias, les saludo de antemano.