Import

Hola, me gustaría saber dónde hay que poner las clases para que el compilador las encuentre. Las clases esta´ndar las encuuentra todas (java.awt, etc.), pero cuando creo distintos paquetes y quiero usar unos desde otros no puedo hacerlo. ¿Hay qué comprimirlas como .jar o se pueden dejar tal cual, como .class?
No sé muy bien cómo funciona esto, porque siempre he usado los paquetes estándar, pero ahora necesito usar unos que creé anteriormente.
Gracias
Malva

1 Respuesta

Respuesta
1
Cuando creas un paquete, para que el compilador java las encuentre, deben de especificarse en el CLASSPATH.
Una vez hecho esto, importando un paquete con una de estas formas, debería ser suficiente:
- import packageName.className;
- import packageName.interfaceName;
- import packageName.*;
Lo probaré y ya te digo...
Hola, he estado probando lo del tema del import pero aún no lo tengo claro...
He hecho un applet con JBuilder. En él utilizo el Layout XYLayout, que viene en una de sus bibliotecas propias.
Al ver el applet desde el programa me funciona perfectamente, pero cuando quiero ver la página con el applet en un navegador externo me dice que la clase no puede ser instanciada. Cuando quito lo del XYLayout sí funciona, por lo que entiendo que al ejecutarlo fuera del JBuilder no encuentra las clases que necesita.
Puedo añadir el directorio en el que están las clases en el classpath, pero ¿eso me funcionaría también si lo pongo en Internet? ¿No tendrían los usuarios que tener esa clase en su máquina virtual Java? ¿Dónde debo colocar esa clase para que se vea siempre, para que la encuentre siempre?
No tengo muy claro esto, a ver si me puedes ayudar...
Gracias
Malva
Son accesibles los paquetes que se encuentran en la variable CLASSPATH del sistema.
Por supuesto hay una serie de paquetes que se cargan automáticamente, al intentar ejecutar un programa java.
El CLASSPATH es la variable de entorno que especifica donde java busca las clases. Si no es especificada, java busca en el directorio actual y en las librerías estándar del sistema. Si la seleccionamos nosotros mismos, necesitamos estar seguros de incluir ".", que significa el directorio actual.
Por ejemplo, con la siguiente sentencia, le estamos diciendo al classpath donde están los paquetes (comprimidos en un archivo jar) de desarrollo de servlets y jsp:
- set CLASSPATH =.;servlet_dir/servlet.jar;servlet_dir/jsp.jar
Si lo pones en Internet, entiendo que debes poner tanto la página como el código class del applet y todas las clases que éste utiliza, todo esto se pone en un servidor. Lo que ocurre, cuando instancias el applet, tanto desde una página HTML como en una JSP, es que el código del applet viaja desde el servidor hasta el puesto cliente. Es decir, no es necesario que el usuario tenga el código del applet en su ordenador, por eso los applets tienen tantos problemas de seguridad, por que te estas trayendo al ordenador cliente, código que de no ser por la protección que java añade a los applets, podría realizar acciones mal intencionadas sobre tú ordenador.
Espero haber sido todo lo claro y explicito que necesitabas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas