Tag Archives: eclipse

Intellij realmente es impresionante

Este es un comentario que vengo haciendo desde hace alrededor de un mes, cuando comence a utilizar Intellij, siendo usuario de Eclipse por alrededor de un año, es que, realmente tienen que probarlo, digamos que tiene lo mismo que tiene eclipse en funcionalidad pero más pulido. Por ejemplo, si hacen refactoring frecuentemente habrán notado, por ejemplo, que al renombrar el nombre de un método en un POJO es necesario revisar también en los jsps y archivos xml de configuración de persistencia (Hibernate, Ibatis) por ejemplo, con respecto a esto Intellij IDEA tiene configurada por defecto la funcionalidad de búsqueda de referencias en código Java, además de otro tipo de archivos, como archivos de configuración xml, etc, y permite escoger a que archivos se propagarán los cambios, muy útil realmente, mientras que en eclipse no he podido encontrar esta característica al hacer refactoring, bueno, si alguno de ustedes sabe como hacerlo, sus comentarios serán bienvenidos. Con respecto a la asistencia mientras se escribe código en jsps, no sé nisiquiera como describir la superioridad de Intellij sobre el WTP de eclipse, que es la herramienta con la que eclipse viene por defecto Eclipse Java EE, Intellij tiene el mejor autocompletado para javascript que haya visto nunca, nisiquiera es necesario configurarlo para obtener autocompletado para las funciones de jquery, mientras que en eclipse para obtener esto se requiere de un plugin especial, que, a decir verdad no funciona ni la mitad de bien (me refiero a http://www.langtags.com/jquerywtp/).

En fin, realmente les recomiendo probar el trial de 30 días, les garantizo que si realmente lo utilizan al máximo durante ese tiempo, si no llegan a comprarlo al menos lo habrán pensado. 😀

NOTA: Actualmente estoy desarrollando un plugin para eclipse, por lo que quiero dejar claro que no tengo nada contra eclipse, más bien, si alguno de ustedes conoce de algunos plugins que le puedan dar a eclipse lo que intellij tiene en la actualidad o más, pues agradecería bastante saberlo.

Maven + Jetty + Eclipse + Debugging

Dada la versatilidad que provee Jetty como servidor web por su velocidad de arranque e integración con maven, el cual, a su vez, permite manejar dependencias algunas, he aquí algunas instrucciones para ser capaces de depurar aplicaciones web manejadas por maven desde Eclipse utilizando Jetty como contenedor de Servlets.

Para realizar esto desde eclipse, se debe configurar un external tool:

Dirigirse a External Tools Configuration y crear una nueva configuración, especificando la ruta hacia la instalación de maven local, el working directory y como arguments jetty:run.

Luego dirigirse a la pestaña Environment, y agregar la variable MAVEN_OPTS y asignarle el valor: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y

Luego se debe crear un Debug Configuration:

Para crear esta configuración de Debug se debe ir a Debug Configurations, especificar el proyecto que se depurará y el mismo puerto que se estableció en la variable de entorno MAVEN_OPTS

Después de esto se deberán ejecutar los dos de forma consecutiva (uno depende el otro).

Primero se ejecutará la configuración de External Tools, con lo cual en la consola se podrá ver un mensaje como el siguiente en la consola.

Y solo después de ejecutar el Debug Configuration la aplicación comenzará a correr, y estaremos listos para hacer el debugging.

xdebug + eclipse pdt + xampp

Hace algunos meses estuve averiguando como activar el debugging dentro de php usando el IDE eclipse PDT y una instalacion de Xampp (1.7.0), y pues, hoy abrí el PDT (después de varios meses) y por alguna razón no llegué a descubrir el debugger parecía funcionar pero nunca se detenía en ningún breakpoint, por lo que después de casi 3 horas intentando solucionar el problema decidí crear una nueva instalación de xampp, y aprovechando que tenía MySQL instalado de manera independiente todo se redujo a renombrar D:xampp a D:xampp_old y esta vez e instalar la versión 1.7.1 de XAMPP que se puede encontrar aquí: http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.1/xampp-win32-1.7.1.zip/download

Después hay que realizar las siguientes modificaciones en D:xamppphpphp.ini, casi al final del archivo.

[Zend]
;zend_extension_ts = “xamppphpzendOptimizerlibZendExtensionManager.dll”
;zend_extension_manager.optimizer_ts = “xamppphpzendOptimizerlibOptimizer”
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts=”xamppphpextphp_xdebug.dll”
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir=”xampptmp”

Como pueden notar, solo comenté las propiedades del grupo [Zend] y descomenté la de [XDebug] y listo, podemos reiniciar el servidor apache desde el panel de control de XAMPP D:xamppxampp-control.exe asumiendo, una vez más que su instalación de Xampp se encuentra en el disco D:/xampp.

Y en el PDT simplemente comenzamos una sesión de debugging. Puede ser conveniente establecer XDEBUG como debugger por defecto en vez de Zend Debugger.

Por último un pantallazo de lo bonito que nos queda el debugger dentro de Eclipse PDT con inspección de variables y todo lo que un buen debugger necesita.

Actualización:

Algunos meses después intenté activar el debugging nuevamente en la que creo es la misma instalación de xampp, y resulta que no funcionaba el debugging, nuevamente el pdt estaba siendo notificado por el explorador pero el debugger no se detenía en ningún breakpoint, en este mismo momento estoy comenzando a bajar nuevamente el xampp 1.7.1, esta vez la versión distribuída en .zip (no crean que no he intentando arreglar ésto durante horas) y aún así después de una instalación de xampp limpia esto no funciona, posiblemente sea mi antivirus (?) y por ahora me estoy pasando a ZendServer que viene con el zend debugger integrado. :S  Si alguien sabe que tipo de condiciones afectan el funcionamiento normal de xdebug con el paquete xampp que lo diga