miércoles, octubre 21, 2009

Eclipse 3.5: 3 fallos y soluciones

Si picáis en Java, hay muchas probabilidades de que piquéis con Eclipse, así que igual tenemos a la larga más lectores que otras veces.

Como podéis comprobar en su web, el IDE Eclipse va ya por su versión 3.5 de nombre clave Galileo. La lista de cambios es amplia y muchas veces incomprensible, a veces por amplia y otras por críptica.

Lo que no te dicen a las claras son las pegas o fallos, que las hay de esta nueva versión. Las mías son de momento tres:

  1. ¿Cómo que Galileo? Si antes fue Calisto, luego Europa y luego Ganímedes, ¿porqué no Io u otra luna de Júpiter? Es una tontería, pero es mi tontería
  2. En la configuración de servidores no viene la de JBoss: Te la tienes que buscar por tu cuenta.
  3. No funciona la salida a internet via proxy si este es de tipo NTLM, o lo que es lo mismo, el de Microsoft. MUY frecuente en nuestras oficinas, para desgracia de todos los afectados.
Así que tenemos una tontá y dos pegas gordas. Para la tontá no hay solución, pero sí para las pegas gordas y es por ello que dejo esto por escrito.

Proxy y Eclipse 3.5 (Galileo)

Como cuentan en las profundidades del wiki de Eclipse, en la versión 3.5 se ha cambiado de librería para conexiones HTTP de las de Sun a las de Apache por problemas de estabilidad de las de Sun (supongo que no muy frecuentes porque no recuerdo haberlos sufrido).

Desgraciadamente por cuestiones legales los chicos de Apache no admiten conexiones con proxies NTLM y no tiene pinta de cambiar a corto plazo. Además en el bugtracker de Eclipse tampoco parece que tengan muchas ganas de volver a la librería anterior. Mal vamos.

¿Qué solución tenemos? Pues podemos pasarnos a Netbeans o a Idea (ahora que tienen versión gratis ¿y libre?) o poner esto en nuestro fichero eclipse.ini, que está en la misma carpeta que el ejecutable de eclipse:
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=myproxy
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1

Esto lo que hace es volver a usar la librería de Sun (¿o ya Oracle?).

Como ya tenemos conexión a la red, podemos plantearnos la siguiente receta

Cómo Configurar JBoss en Eclipse 3.5 (Galileo)
No sé a qué se debe (¿otra vez cuestiones legales?), pero la cosa es que Galileo viene sin configuraciones de servidores de serie. Cuando intentas crear la primera se intentará conectar a la red (y fallará si no has seguido la receta anterior) para mostrarte una lista en la cual NO está JBoss. ¿Qué hacemos, nos pasamos a Tomcat, Glassfish o lo que sea? Pues lo que sea, que recomiendo sea agregar la siguiente ruta como sitio para actualizaciones:

http://www.jboss.org/tools/download/update

Si visitas esa misma URL pero desde el navegador tienes instrucciones de cómo hacerlo.
Instalamos, reiniciamos Eclipse y ¡al fin! tenemos configuración de JBoss.

Para ser del todo feliz yo además me instalo Subclipse y Findbugs.
Que lo disfruten.