Problemas de compilado con clases, package ...
Hola:
Tengo una clase A que pertenece a un package y una clase B que no pertenece a ningun package.
No encuentro la forma de usar la clase B desde la clase A, no hay manera de que compile por mas que he probado a poner import o cambiar el classpath.
En A.java tengo
package PAQUETE_A;
public class A
{
B b;
};
y en B.java tengo
public class B
{
int c;
};
¿Alguien sabe una forma de hacer que esto compile?
Sed buenos.
Tengo una clase A que pertenece a un package y una clase B que no pertenece a ningun package.
No encuentro la forma de usar la clase B desde la clase A, no hay manera de que compile por mas que he probado a poner import o cambiar el classpath.
En A.java tengo
package PAQUETE_A;
public class A
{
B b;
};
y en B.java tengo
public class B
{
int c;
};
¿Alguien sabe una forma de hacer que esto compile?
Sed buenos.
La respuesta.....
Importar la clase....
package x;
import B;
public class A
{
B b;
};
Que me gane???
no mentiras fue un gusto
Importar la clase....
package x;
import B;
public class A
{
B b;
};
Que me gane???
no mentiras fue un gusto
Eso no funciona,
el error es en tiempo de compilación
A.java:2: '.' expected
import B;
^
1 error
el error es en tiempo de compilación
A.java:2: '.' expected
import B;
^
1 error
Gracias por las respuestas.
Mi problema es que la clase A en realidad son varios cientos de clases de un proyecto. Todas ellas llevan algún package de un tipo u otro.
La clase B son otros cientos de clases de otro proyecto. Ninguna lleva package.
Quiero usar clases del proyecto B desde el proyecto A (al revés no tengo problemas). No puedo dedicarme a poner cientos de package en el proyecto B.
Lo de import B; ya lo había probado y no compila, dice que no existe el paquete B (cosa que es cierta, porque es una clase).
Sed buenos.
Mi problema es que la clase A en realidad son varios cientos de clases de un proyecto. Todas ellas llevan algún package de un tipo u otro.
La clase B son otros cientos de clases de otro proyecto. Ninguna lleva package.
Quiero usar clases del proyecto B desde el proyecto A (al revés no tengo problemas). No puedo dedicarme a poner cientos de package en el proyecto B.
Lo de import B; ya lo había probado y no compila, dice que no existe el paquete B (cosa que es cierta, porque es una clase).
Sed buenos.
haber que sucede...
implemente el ejercicio de prueba que colocaste y compilo perfectamente....
ahora, cuando se empaqueta una clase, esta por defecto puede invocar las clases que estan en el mismo paquete. Pero cuando la clase que voy a utilizar no esta en el mismo paquete, siempre se debe importar y la clase B no esta en el paquete, asi que toca importar....
Y como digo, implemente el ejercicio y compilo perfectamente, pero si sale error cuando quiero tomar todas las clases de la raiz "import *;"
Espero haber sido de ayuda!!!
implemente el ejercicio de prueba que colocaste y compilo perfectamente....
ahora, cuando se empaqueta una clase, esta por defecto puede invocar las clases que estan en el mismo paquete. Pero cuando la clase que voy a utilizar no esta en el mismo paquete, siempre se debe importar y la clase B no esta en el paquete, asi que toca importar....
Y como digo, implemente el ejercicio y compilo perfectamente, pero si sale error cuando quiero tomar todas las clases de la raiz "import *;"
Espero haber sido de ayuda!!!
Vaya! Con las cosas tan dificiles que respondes no imaginaba que tu pudieras tener dudas! ; )
Pues yo creo que si pones la clase B dentro del fichero A.java te va a funcionar...pero igual es una gilipollez...
Pues yo creo que si pones la clase B dentro del fichero A.java te va a funcionar...pero igual es una gilipollez...
Pues yo también lo quiero saber. Si por ejemplo tengo el CLASSPATH apuntando a la carpeta C:Ejercicio y dentro de esa carpeta tengo la clase B y la subcarpeta PAQUETE_A que contiene a la clase A. ¿Cómo hago para que A compile?
Clase A:
package PAQUETE_A;
public class A{
B b;
}
Clase B:
public class B{
int c;
}
A ver, quien lo compila sin meter B.java en la carpeta de A.java
Clase A:
package PAQUETE_A;
public class A{
B b;
}
Clase B:
public class B{
int c;
}
A ver, quien lo compila sin meter B.java en la carpeta de A.java
"A ver, quien lo compila sin meter B.java en la carpeta de A.java"
eso no suena bonito.
cualquiera que lo ve diría que es un problema, pero no
eso es una ventaja.
La solución al porque mejor búscala,
caso contrario me cansaría de escribir.
pero si te voy a decir la solución:
la clase B
==================================
package packb;
public class B{
int algo;
}
// guardarlo en un directorio packb
// javac B.java
// cd ..
// jar cvf pack.jar packb
==================================
package PAQUETE_A;
import packb.B;
public class A{
B b;
}
// set classpath=%CLASSPATH%;ALGUN_PATHpack.jar;
// javac A.java
==================================
y ya se compila tuanis, pero se necesita
que la clase B esté en un paquete
eso no suena bonito.
cualquiera que lo ve diría que es un problema, pero no
eso es una ventaja.
La solución al porque mejor búscala,
caso contrario me cansaría de escribir.
pero si te voy a decir la solución:
la clase B
==================================
package packb;
public class B{
int algo;
}
// guardarlo en un directorio packb
// javac B.java
// cd ..
// jar cvf pack.jar packb
==================================
package PAQUETE_A;
import packb.B;
public class A{
B b;
}
// set classpath=%CLASSPATH%;ALGUN_PATHpack.jar;
// javac A.java
==================================
y ya se compila tuanis, pero se necesita
que la clase B esté en un paquete