paquetes

Javier
07 de Enero del 2004
Hola tengo una clase en la que quiero utilizar una variable global que se encuentra en otro paquete, pero al hacer una instancia de esa clase no la encuentra, ¿alguien me puede decir como se hace?.
Ejemplo:
Clase1.java
PaqueteClase2.java

Desde la clase1 quiero hacer una instancia de la clase 2 y utilizar una variable global que se encuentra en la clase 2


chuidiang
07 de Enero del 2004
Clase2.java y Clase2.class tienen que estar en un directorio que se llame Paquete.
Dentro de Clase2.java tienes que poner
package Clase2;
En el CLASSPATH debes poner el path en el que se encuentre el directorio Paquete (no el directorio Paquete en si mismo). Es decir, si tienes C:proyectoPaqueteClase2.class debes poner

CLASSPATH=...;C:proyecto;...

Luego, en Clase1 debes poner

import Paquete.Clase2;

No hay variables globales en java, así que supongo que te refieres a algún atributo (¿estático quizás?) dentro de Clase2.

Si sigues teniendo problemas, echa un ojo en www.geocities.com/chuidiang a la parte de java y ahi a lo de los classpath, packages y jars.

Se bueno.

Javier
07 de Enero del 2004
Si, me referia a una variable estatica.
Entiendo lo que me dices, pero si pongo una ruta absoluta en el classpath y cambio el proyecto de directorio o lo ejecuto en otro equipo no me lo reconocería, ¿verdad?, ¿como puedo hacerlo para que funcione en otro equipo o en otro directorio del mismo equipo?.

chuidiang
07 de Enero del 2004
Suele ser habitual hacer lo siguiente:

Usar una variable de entorno con el path en el que está instalado tu programa. Poner el CLASSPATH relativo a esa variable
VARIABLE=C:mi_programa
CLASSPATH=...;%VARIABLE%;
Por supuesto, es obligatorio definir esta variable antes de ejecutar en otro ordenador.

Para hacer que todo esto sea más sencillo, suele ser habitual hacer un fichero .bat (o .sh en linux) que se encarga de poner las variables de entorno (el CLASSPATH) y lanzar el programa. Mas o menos esto

CLASSPATH=...;%VARIABLE%
java MiPrograma

Luego, el usuario, para ejecutar, tiene que poner

$ VARIABLE=C:mi_programa
$ MiPrograma.bat

Si haces un programa de instalación, este mismo puede encargarse de definir dicha VARIABLE en algún sitio, asi como el PATH para que encuentre MiPrograma.bat

Se bueno.

Javier
07 de Enero del 2004
Muchas gracias, ya lo he hecho y funciona perfectamente.