Comenzando con Java (3) - La variable JAVA_HOME (Windows)

domingo, 21 de marzo de 2010

Normalmente cuando estamos comenzando a usar Java nos encontramos con que tenemos que agregar el JAVA_HOME (el directorio de instalación de Java) a las variables de entorno de Windows. Pues bien, para esa "primera vez" me he dado a la tarea de escribir este pequeño tutorial. Para este tutorial debemos tener presentes los siguientes conceptos:

Variables de entorno
Autoexec.bat
PATH: Que es donde el intérprete de comandos buscará los comandos de ejecución que escribamos en la consola, siempre y cuando no usemos una ruta específica para llamar al comando.

La idea del JAVA_HOME es que agreguemos una nueva variable de entorno a nuestro sistema. En este caso JAVA_HOME es el nombre de facto, aunque podría ser cualquier otro, lo importante es que además lo agreguemos al PATH para que Windows pueda reconocer los comandos de Java. Incluso podríamos no definir la variable JAVA_HOME y hacerlo todo directamente sobre la variable PATH, pero por convención y practicidad es mejor definirla, esto te será más claro conforme sigas usando Java.
Para agregar la nueva variable de entorno hay dos caminos a seguir.

El primero es usando la ventana de Propiedades del sistema de Windows.
(La forma en que siempre lo hago)

1. Hacer la combinación de teclas Inicio(la tecla de la ventanita) + Pausa para abrir la ventana de Propiedades del sistema.



2. Dentro de la ficha Opciones avanzadas, oprimir el botón Variables de entorno, lo que abrirá una nueva ventana titulada Variables de entorno.


Nota: Dentro de las variables de entorno tenemos las Variables de usuario y las Variables del sistema, las primeras funcionan mientras la sesión del usuario para la cuál está definida está abierta, las otras funcionan para todos los usuarios y se necesitan permisos de administrador para definirlas. Preferentemente yo siempre uso las Variables de sistema, a menos que haya una situación particular que requiera que use las variables de usuario.

3. En la sección de las Variables del sistema haremos clic sobre el botón Nueva, esto nos abrirá un pequeño cuadro de diálogo donde agregaremos los siguientes valores:
* en la caja Nombre de variable: JAVA_HOME
* en la caja Valor de variable: la ubicación donde hayas instalado el JDK, en mi caso C:\Archivos de programa\Java\jdk1.6.0_18 y hacer clic en Aceptar.


4. Buscar la varibla de sistema llamada Path y hacer clic en Modificar.
5. En el campo Valor de variable de la ventana de diálogo Modificar variable de sistema agregaremos nuestra nueva variable de entorno al final del valor existente separándolo por un punto y coma (;) de la siguiente forma: ;%JAVA_HOME%\bin;

De esta forma estamos haciendo referencia a la carpeta bin (donde están los comandos de ejecución) de la instalación de Java usando la variable JAVA_HOME que hemos creado en los pasos anteriores. También podríamos haber escrito directamente la ruta de la instalación del JDK en el Path, pero como lo he dicho antes, es preferible hacerlo de esta forma.

Después de estos pasos simplemente deberemos hacer clic en el botón Aceptar de cada ventana y tendremos agregada nuestra nueva variable de entorno.

Otra forma es haciéndolo directamente desde la ventana de linea de comandos:

1. Hacer la combinación de teclas Inicio + R para abrir la ventana Ejecutar, y escribir cmd y hacer clic en Aceptar. Esto abrirá una ventana de linea de comandos.


2. En la ventana de linea de comandos escribir: set JAVA_HOME=, nuevamente, en mi caso la ruta de instalación es "C:\Archivos de programa\Java\jdk1.6.0_18"

Nota
: Las comillas no son necesarias a menos que tengamos espacios en blanco en nuestra ruta, como en este caso.

3. Posteriormente, en la misma ventana, habrá que agregar esta variable al Path de esta forma: set Path=%Path%;%JAVA_HOME%\bin;


Con esto habremos agregado la nueva variable de entorno, pero solo estará disponible mientras permanezca abierta la sesión de la linea de comandos. Para hacer permanente nuestras variables de otra forma, podemos agragarlas al Autoexec.bat para que se carguen siempre que arranque el sistema.

Agregar las variables de entorno en el Autoexec.bat

1. Abrimos una ventana de Ejecutar como en el paso uno de la sección anterior y escribimos sysedit y hacemos clic en Aceptar.
2. En la ventana de AUTOEXEC.BAT agregamos las lineas
@echo off
JAVA_HOME="C:\Archivos de programa\Java\jdk1.6.0_18"
Path=%Path%;%JAVA_HOME%\bin;


Y después de guardar el archivo, preferentemente, reinicia el sistema.

Nota: Gracias a un comentario, debo remarcar que en versiones posteriores a Windows ME las variables de entorno se deben agregar por medio de la ventana de Propiedades del sistema y no por la modificación del archivo autoexec.bat, aunque aun es posible.

La prueba

Para comprobar que verdaderamente se ha agregado la nueva variable de entorno abre una ventana de línea de comandos y escribe java -version, y el resultado de ejecutar esta línea deberá ser algo similar a esto:


Para más inromación sobre comandos del DOS, el Autoexec.bat y en general sobre las variables de entorno, dejo estos enlaces:
Variables de entorno
Environment variables
Autoexec.bat (inglés)
Autoexec.bat (español)
Config.sys y Autoexec.bat
How do I set or change the PATH system variable?

Comenzando con Java (2) - El IDE

martes, 16 de marzo de 2010

En la sección anterior de esta serie de Comenzando con Java vimos cómo comenzar apoyándonos en tutoriales y les dejé algunos videotutoriales muy buenos que me he encontrado en la red. Ahora toca seleccionar nuestro editor de desarrollo.

La selección de nuestro primer IDE (Integrated Development Environment, Entorno Integrado de Desarrollo) es muy importante pues nos ayudará a resolver problemas comunes, acelerar nuestro aprendizaje y adaptarnos poco a poco a una forma particular de trabajo.

Debemos seleccionar el IDE de acuerdo a nuestras necesidades, por ejemplo, si lo necesitamos solo para el uso académico, aprendizaje de ciertas herramientas y/o tecnologías del mundo Java, si lo necesitamos para uso profesional, ya que en ciertas empresas dicen al desarrollador cuál IDE usar, etc.

Como este tutorial lo he escrito para quienes aun están aprendiendo a programar en Java, les recomiendo usar un IDE
Lo que yo recomiendo es verificar que el IDE:

  • sea intuitivo
  • tenga resaltador de código
  • tenga depurador
  • tenga autocompletado (no indispensable si estás aprendiendo)

Aunque llegarás a usar otras herramientas muy prácticas y otras muy complejas conforme avances en tu aprendizaje.

Por ejemplo, yo aprendí usando un editor muy simple: TextPad, y también vi a compañeros aprendiendo con JPadPro.

Uno muy utilizado en la academia para la enseñanza de la programación en Java es BlueJ, la cual también recomiendo mucho.

También puedes aprender con uno más profesional como Netbeans (comentarios a parte) que es un IDE muy completo y ampliamente usado en entornos profesionales. Es gratuito y puedes descargarlo en su versión más ligera para comenzar a programar. También puede usar la versión Classic de Eclipse. Consulta sus páginas respectivas o la Wikipedia para leer más al respecto y decidir por un IDE.

Pero existen muchos más en el mundo Java, para todos los gustos, solo he comentado los más comunes.


Enlaces:
Netbeans (Wikipedia| descarga)
Eclipse (Wikipedia| descarga)
BlueJ (Wikipedia| descarga)
TextPad (Wikipedia)
JPadPro

"An instance of the program seems to be already running" en Netbeans

lunes, 8 de marzo de 2010

Actualmente estoy usando Netbeans 6.7.1 para desarrollar una aplicación Swing ya que me gusta el Matisse que viene con este IDE. Pero ya han sido varias ocasiones en las que la computadora se ha apagado abruptamente, lo que ha causado que Netbeans no se cierre correctamente; y después de reiniciar e intentar abrir nuevamente el IDE me muestra una ventana de alerta con el siguiente mensaje:

"An instance of the program seems to be already running with your user directory. Either a previous session of the program did not exit correctly, or another instance of the program is running on a different computer and using the same user directory.

"If another session of the program is running with the same user directory, please click Cancel to prevent the corruption of the user directory. If you are sure that no other instances of the program are running with your user directory, click OK to continue."

Para solucionar este problema debemos tener presente que Netbeans guarda distintas carpetas de configuración, estas son el Directorio de instalación, Directorio de usuario y Directorio de proyectos. Pues bien, para solucionar este problema en particular lo único que he hecho ha sido borrar el archivo lock que se encuentra en el directorio de usuario; en mi caso C:\Documents and Settings\Jorge Ruiz\.netbeans\6.7\lock

Las carpetas comentadas se crean durante la instalación de Netbeans y el usuario puede modificarlas, por lo tanto, es importante leer bien los diálogos antes de hacer clic en el botón Next de la instalación. Para más información sobre estas carpetas puedes leer el blog de soporte de Netbeans. Espero que la solución de mi caso les sirva...