Programación General => Java => Mensaje iniciado por: kelly_14 en Viernes 9 de Diciembre de 2005, 19:05
Título: Ver Clases Que No Están En Un Paquetes
Publicado por: kelly_14 en Viernes 9 de Diciembre de 2005, 19:05
Buenas...
Estoy usando un API de java para SNMP pero cuando intento usar una de las clases ésta no es reconocida, la misma se encuentra en el paquete por defecto, por eso digo que no pertenece a un paquete definido, como podría utilizar esta clase? como haría para que el eclipse la reconozca? o lo tengo que
Saludos,
Kelly
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: chimps en Viernes 9 de Diciembre de 2005, 21:41
si las clases estan dadas en un archivo jar, tenes que incluirlo al BUILD PATH de tu proyecto...cuando creas un nuevo proyecto en eclipse, uno de los tabs te deja configurar esta opcion
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: kelly_14 en Viernes 9 de Diciembre de 2005, 22:15
Gracias Chimps ya probé eso pero sigue sin funcionar...
saludos!
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: chimps en Sábado 10 de Diciembre de 2005, 01:07
la importaste?...que error te tira eclipse?
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: kelly_14 en Martes 13 de Diciembre de 2005, 17:15
No tira ningún error específico.. solamente no reconoce las clase, además extraje la clase del .jar para cargarla directamente y ni de esa forma la reconoce
Saludos,
KL
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: chuidiang en Lunes 16 de Enero de 2006, 09:28
Hola:
En versiones antiguas de java (anteriores a la 1.3, creo) desde una clase que esta en un paquete se podia ver sin problemas una clase sin paquete.
A partir de esa versión, eso es simplemente imposible. Desde una clase que pertenece a un paquete no hay forma de ver una clase que no tiene paquete. Esto no funciona de ninguan manera
Código: Text
class SinPaquete {};
Código: Text
package paquete;
class ConPaquete()
{
SinPaquete a = new SinPaquete();
}
Posiblemente la librería que estas usando sea un poco antigua, intenta buscar alguna mas moderna en la que todo este con paquetes. Si no es asi, puedes intentar algún tipo de truco. Puedes hacer algo como esto:
- Crea una interface con paquete para la clase que no tiene paquete con aquellos metodos a los que tengas interes en llamar.
Código: Text
package paquete;
public interface MiInterface
{
public void metodo1(...);
public void metodo2(...);
}
- Hereda una clase sin paquete de la clase que no tiene paquete y que implemente la interface con paquete. Esto debería ser inmediato, no necesitarías redefinir ningun metodo ni nada parecido.
Código: Text
// sin paquete
public MiClase extends ClaseSinPaquete implements MiInterface
{
};
- Haz que las clases con paquete que necesiten ver a la sin paquete, tengan un metodo para pasarselo y que reciban de parametro la interface
Código: Text
package paquete;
public class UnaClase
{
public void setClaseSinPaquete (MiInterface i) {...}
}
- Instancia desde una clase sin paquete tu nueva clase hija y pasasela a quien la necesite a traves de metodos setLaClase (interface).
Código: Text
// sin paquete
class ...
{
public void metodoQueLoInstanciaTodo()
{
MiInterface i = new MiClase();
claseConPaquete.setClaseSinPaquete(i);
}
}
Parece un poco liado, pero yo tuve que usar algo parecido para no tener que rehacer un monton de clases.
Se bueno.
Título: Re: Ver Clases Que No Están En Un Paquetes
Publicado por: kelly_14 en Lunes 23 de Enero de 2006, 20:57
Hola Chuidiang...
Lo que hice fue cambiar a una librería menos antigua tal como lo sugeriste.