Configurar Cygwin + Console2

domingo, 13 de marzo de 2011

Esta vez hablaré de cómo configurar Console2 para que funcione con Cygwin. Cygwin es un emulador de comandos Linux sobre Windows. Console es una herramienta para Windows que no hace que MS-DOS funcione mejor pero si que se vea más chido. Y me di a la tarea de investigar cómo integrar estas dos herramientas para trabajar con comandos similares a las de Linux desde Windows usando el command.com pero con una mejor presentación que la que presenta MS-DOS.

En este tutorial veremos cómo instalar cada una de estas herramientas y cómo integrarlas para tener una experiencia bastante distinta al usar una consola en Windows. Además, veremos cómo configurar Cygwin para que al estar integrado con Console2 nos presente el prompt en una carpeta de nuestra preferencia en lugar de la carpeta por defecto.

Instalar Cygwin

1. Entra a http://cygwin.com/install.html, descarga y ejecuta el instalador setup.exe
2. O directamente desde esta liga setup.exe
3. En la primera pantalla de la instalación de Cygwin, clic en Siguiente.

4. Seleccionar el tipo de instalación. Yo lo haré directo de Internet, pero también puedes descargar todas las bibliotecas para posteriormente instalarlo desde un directorio local.

5. Selecciona el directorio de instalación.

6. Ahora selecciona una carpeta donde se almacenarán los archivos de instalación de Cygwin.

7. Si estás tras un servidor proxy, es hora de configurarlo.

8. En la siguiente pantalla selecciona un mirror de descarga, aqui realmente no se cuál sea el más apropiado, así que yo selecciono el que sea mientras no encuentre un ibiblio.

9. Ahora comienza a descargar la información de los archivos de instalación.

10. La siguiente pantalla muestra todos los paquetes que se instalarán. Haz clic en siguiente a menos que seas más curioso y quieras ver de qué se tratan todos los paquetes.

11. Comienza ahora la instalación de Cygwin.

12. Finalmente escoge las opciones finales de instalación.

13. Clic en Finish y ya tienes instalado Cygwin listo para trabajar pensando que usas Linux.

Instalar Console2

  1. Accede a esta dirección del proyecto Console, http://sourceforge.net/projects/console/ para descargarlo
  2. El archivo descargado será un .zip que deberás descomprimir en el directorio de tu preferencia. A mi me gusta tener una carpeta de herramientas de desarrollo (../dev/tools/)
  3. Una vez hecho esto, puedes entrar a la carpeta Console2 que descomprimiste y correr el archivo ejecutable Console.exe. Ya tienes Console2 listo para usarse.
Integrar Cygwin con Console2
  1. Abre Console2
  2. Abre la ventana de configuración en el menú Edit->Settings...
  3. En la ficha Tabs, clic en Add para agregar una nueva ficha
  4. Agrega la siguiente configuración a la nueva ficha
  5. Ahora puedes agregar la nueva ficha que has creado y poder ver Cygwin en acción desde Console2.
Pero normalmente quiero designar la carpeta en la cual aparezca inicialmente el prompt de la línea de comandos. Console2 provee esa opción (Startup dir:) en su configuración como podrás ver en la ventana donde configuraste la nueva ficha; pero no funciona con Cygwin. Para solucioar esto deberás editar el archivo por lotes en C:\cygwin\Cygwin.bat:

Cambia esto:
bash --login -i

por esto:
bash --login -i -c 'cd tu_directorio_de_preferencia; exec bash'


Ten en cuenta el el path de tu directorio deberá estar separado por diagonales normales ( / ) como en Linux y no invertidas ( \ ) como en MS-DOS. Por ejemplo: C:/Users/Jesfre/core_documents

Ahora cada vez que abras tu nueva ficha te posicionará automáticamente el prompt en el directorio que has coonfigurado.

Disfruta del seudo-bash en Windows.

Primeros pasos con Java Web Start (2): La consola de Java

miércoles, 14 de julio de 2010

En un post anterior hacía una introducción a Java Web Start. Ahora quiero comentar acerca de una característica que proporciona Java, y esta es su consola. La consola de Java viene con la instalación del JRE. De acuerdo al sitio ayuda de Java,

La consola de Java ofrece información acerca de la versión del entorno de ejecución de Java (JRE), el directorio de inicio del usuario y los mensajes de error que aparezcan durante la ejecución de un applet o una aplicación.
Pues bien, lo que nos interesa en este momento de la consola es la posibilidad de mostrar los mensajes de error que se lanzan durante la ejecución de una aplicación; para este caso nos será de mucha ayuda al momento de probar y depurar nuestras aplicaciones Java Web Start ya que podremos ver con más detalle los errores que sucedan durante la ejecución de nuestras aplicaciones.
Por defecto la consola de Java no se muestra, por lo tanto habrá que habilitarla siguiendo los pasos que se describen en la misma página y que a continuación presento.
Habilitación de la Consola de Java para la plataforma Windows, para las versiones de Java 6.0, 1.5.0
  1. Haga clic en Inicio.
  2. Seleccione Configuración.
  3. Seleccione Panel de control.
  4. Haga doble clic en el icono de Java.
  5. Haga clic en la ficha Avanzado.
  6. Haga clic en el signo + situado junto a Consola de Java. (Img. 1)
  7. Seleccione Ver consola y haga clic en Aplicar.
Img. 1. La Ventana de configuración

Una vez hecho esto, si ejecutamos nuestra aplicación Java Web Start o cualquier otra podremos ver una ventana como la mostrada abajo en la que veremos los errores que lance la aplicación.


Para otras versiones de Java o la visualización de la consola en navegadores como Firefox y otros pueden ver la página de ayuda de Java donde se explica.

Illegal character in path at index 18: file: ~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar

domingo, 11 de julio de 2010

Hace unos días mientras generaba mis CRUD usando la herramienta appfuse:gen de Appfuse me mostró el siguiente error extraño:

[INFO] null
Illegal character in path at index 18: file:/~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException
Después de buscar pocos minutos, enseguida encontré cuál era el problema. El problema es que Maven tiene ciertos conflictos al intentar parsear la ubicación del repositorio si tal ubicación contiene espacios en blanco. Y este es un error ya muy conocido que me había tocado ver antes, pero lo había olvidado (algo muy común).
Como en mi caso, que por estar usando un Windows XP en español, por defecto Maven genera el repositorio en "C:/Documents and Settings/<usuario>/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar", por lo tanto generará este error en alguna ejecución. Los pasos para corregir el error fue:
  1. Mover el repositorio que Maven genera, que por defecto se encuentra en "C:/Documents and Settings/<usuario>/.m2/" a una que no contenga espacios como "C:\.m2"
  2. Editar el archivo de configuración de Maven que se encuentra en <MAVEN_HOME>\conf\settings.xml. Descomentar y actualizar la directiva que apunta al repositorio local en

    c:\.m2\repository
  3. y BUILD SUCCESSFUL

Espero les sirva para cualquier ejecución de Maven con el mismo problema.