icono_twiter icono LinkedIn
Miguel Arlandy Rodríguez

Consultor tecnológico de desarrollo de proyectos informáticos.

Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación

Somos expertos en Java/JEE

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2012-03-26

Tutorial visitado 17.102 veces Descargar en PDF
Trabajando con Intellij IDEA 11.

Trabajando con Intellij IDEA 11.


0. Índice de contenidos.


1. Introducción

Intellij IDEA es un entorno de desarrollo Java creado por Jet Brains del que existen dos distribuciones: Comunity Edition (open source) y Ultimate (comercial). Para escribir este tutorial hemos utilizado la versión Ultimate, que está a años luz de la Comunity Edition (es lo que tiene que sea de pago...).

Sus creadores definen este IDE como el más inteligente del mundo. La mayoría de gente que lo prueba lo define como el mejor entorno de desarrollo Java que existe. ¿Será verdad?.

En este tutorial veremos en acción Intellij IDEA 11 en su versión Ultimate (versión comercial) y desvelaremos las bondades e inconvenientes del que muchos consideran el mejor entorno de desarrollo Java del mundo.


2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15' (2.2 Ghz Intel Core I7, 8GB DDR3).
  • Sistema Operativo: Mac OS Snow Leopard 10.6.7
  • Entorno de desarrollo: Intellij Idea 11 Ultimate.
  • Apache Tomcat 6.
  • Apache Maven 3.
  • GitHub

3. El escenario.

Para probar "esta bestia" haremos lo siguiente:

  • Tenemos un proyecto maven (un módulo web) alojado en GitHub https://github.com/marlandy/proyecto-intellij
  • Nos descargaremos y montaremos el proyecto con Intellij haciendo uso de Git.
  • Nos aseguraremos de que el IDE entiende que es un proyecto Maven.
  • Configuraremos Tomcat en el entorno para que nuestra aplicación corra en él.
  • Haremos cambios en el proyecto: añadiremos dependencias y crearemos nuevas clases y ficheros.
  • Subiremos los cambios al repositorio directamente desde el entorno.

4. Importando un proyecto Maven desde GitHub.

El sistema de control de versiones que usaremos para este ejemplo será Git. Como hemos dicho, tenemos un proyecto maven (aplicación web) en https://github.com/marlandy/proyecto-intellij.

Vamos a ver cómo podemos descargárnoslo con Intellij y que lo interprete como un proyecto Maven.

Abrimos Intellij y pulsamos sobre "Check out from version control". Al estar alojado en GitHub seleccionamos esa opción.

Lo siguiente que hacemos es seleccionar el repositorio que queremos clonar y el directorio donde queremos que se descargue.

El siguiente paso es indicarle a Intellij que es un proyecto maven.

Y ya tenemos nuestro proyecto Maven montado en el entorno y con el sistema de control de versiones configurado. Fácil ¿no?.


5. Configurando Tomcat.

Lo siguiente que vamos a hacer es configurar Tomcat para ver que nuestra aplicación funciona correctamente.

En la parte superior observamos que hay un cuadro con una flecha hacia abajo. Pulsamos y se nos despliega una opción "Edit Configurations".

Observamos que la lista de opciones a configurar es muy extensa. En nuestro caso seleccionamos Tomcat.

En el botón "Configure..." seleccionamos el directorio donde tenemos instalado Tomcat. Adaptamos los parametros que creamos convenientes para nuestra configuración y seleccionamos la aplicación que va a correr en el servidor.

Pues nada, ya tenemos Tomcat configurado. Pulsamos sobre el botón Run (flecha verde) y vemos que el servidor arranca y despliega correctamente nuestra aplicación.

Como, en la configuración, marcamos el check de "Start browser" se nos arranca nuestro navegador por defecto y se conecta a la aplicación.


6. Empezando a trabajar.

Vale, pues lo que vamos a hacer con el proyecto que tenemos montado y configurado para que corra en Tomcat será, crear un filtro que, al inicializarse escriba un mensaje de log indicando que se acaba de inicializar. Esto supondrá que tendremos que importar las librerías de log´s en el pom.xml, crear un fichero de configuración log4j.properties, crear la clase del filtro y modificar el web.xml para registrar el filtro.

Creamos un directorio src/main/resources donde irá el log4j.properties y le indicamos a Intellij que es un fichero de recursos. Para ello pulsamos con el botón derecho sobre el directorio creado y seleccionamos Mark Airectory As > Source Root.

Como hemos añadido nuevas dependencias en nuestro pom.xml, indicamos a nuestro IDE que las importe para que podamos utilizarlas desde nuestro proyecto. Pulsamos con el boton derecho sobre el directorio raiz del proyecto y seleccionamos Maven > Reimport.

Hemos creado varios ficheros nuevos en nuestro proyecto: el filtro y el log4j.properties. Como tenemos nuestro proyecto bajo un sistema de control de versiones como Git, Intellij nos preguntará cada vez que creemos un fichero si queremos añadirlo al control de Git.

Intellij cambiará el color de los ficheros en función de su estado con respecto al sistema de control de versiones. El color azul, significará que el fichero tiene cambios con respecto al último commit. El verde significa que se acaba de añadir el fichero pero que todavía no se ha hecho ningún commit. Además cuando abrimos un fichero que hemos "tocado", el color del borde de la pantalla cambia indicándonos qué líneas hemos modificado.

Como se ve en la siguiente figura, el color de los archivos cambia en función de sus cambios y, cuando abrimos un fichero que hemos cambiado, el color del borde de la línea que cambia adquiere otro color (azul claro).

Arrancamos Tomcat de nuevo y vemos que el filtro se inicia correctamente y que el mensaje que pinta el método init del filtro se visualiza correctamente en la consola de log.

Ahora, con Tomcat arrancado, vamos a hacer un cambio en el mensaje de inicio del filtro. Para que nos coja los cambios, no es necesario parar y arrancar, vale con pulsar sobre el botón update que aparece en el cuadro de Tomcat y pulsar sobre la opción redeploy.

Y como se ve en la siguiente figura, nos coje los cambios sin problemas.


7. Subiendo los cambios al repositorio.

Bueno, pues ahora toca subir los cambios al repositorio. Para ello pulsamos con el botón derecho sobre el directorio raiz del proyecto y seleccionamos Git > Commit Directory...

Nos aparecerá el listado con los ficheros que hemos modificado, añadido o eliminado. Escribimos un mensaje para el commit y pulsamos sobre "Commit and Push..." (aunque también podríamos hacer un commit contra nuestro repositorio local sin push).

Nos vamos a la web de GitHub y comprobamos que, efectivamente los cambios están subidos al repositorio.

Si nos fijamos en los ficheros en el Intellij, observamos que ahora todos tienen color negro. Lo que significa que no hay ningún cambio con respecto al último commit.


8. Ventajas e inconvenientes.

Las sensaciones al probar este entorno son extremadamente positivas. LLama la atención desde el mismo momento de la instalación cuando te das cuenta de la cantidad de tecnologías que soporta: Groovy, Android, Javascript, Struts, Spring, Hibernate, JSF... La lista es infinita.

Bajo mi punto de vista, las principales ventajas e inconvenientes de Intellij son las siguientes:

Ventajas:

  • Autocompletado de código. No se cómo lo hace pero siempre te propone justo eso que necesitas.
  • Integración con sistemas de control de versiones.
  • Viene con todo instalado de serie (si fuese un coche podríamos decir que es un "full equipe"). Además existe un amplio set de plugins (yo llevo algunos años trabajando con Intellij y todavía no me ha hecho falta instalarme ninguno).
  • Sensación de fialbilidad y robustez muy superior a otros entornos. No hace las "cosas raras" que hacen otros IDE´s de vez en cuando (creo que muchos sabéis de lo que hablo...).
  • Herramienta de refactorización extremadamente inteligente.

Inconvenientes:

  • Es de pago.

9. Referencias.


10. Conclusiones.

En este tutorial hemos intentado presentar la distribución comercial de Intellij IDEA. Harían falta decenas de tutoriales más para poder ver al completo todo lo que nos ofrece este "monstruo".

Ni mucho menos hemos intentado hacer una comparativa con otros IDE´s open source como Eclipse o NetBeans ya que, simplemente, no se pueden comparar al ser Intellij una distribución comercial. Sería como comparar la plantilla del Real Madrid con la del Levante (la diferencia de presupuesto es abismal).

Muchos definen a este IDE como el mejor del mundo. Otros como el más inteligente. Yo, personalmente, no puedo pronunciarme en este sentido ya que no los conozco todos. Sin embargo, mi conclusión, tras haber trabajado con diferentes IDE´s open source además de con Intellij es que: "cuando pruebas el jamón serrano ya no quieres la mortadela..." ;-).

Espero que este tutorial os haya sido de ayuda. Un saludo.

Miguel Arlandy

marlandy@autentia.com

Twitter: @m_arlandy

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2012-05-04-19:37:10

Autor: marlandy

Hola Ferran,

Sobre el tema de los atajos de teclado, en la página de Jetbrains puedes consultarlos http://www.jetbrains.com/resharper/webhelp/Reference__Keyboard_Shortcuts.html. Este pdf también te puede ser de ayuda (es de IDEA 8 pero la mayoría de atajos son los mismos) http://aop01-2010.googlecode.com/files/IntelliJIDEA8_ReferenceCard.pdf

Por lo demás, irás cogiendo más soltura con la práctica, como pasa cada vez que empiezas con un entorno de desarrollo que no conoces (o con cualquier producto en general). Te recomiendo que dediques un poco de tiempo en explorar las opciones que ofrece este IDE. Creeme que el esfuerzo inicial merecerá la pena.

Un saludo

Fecha publicación: 2012-05-04-14:17:36

Autor: fmaylinch

Gracias por el artículo Miguel.

Ando buscando un tutorial donde se explique un poco las típicas operaciones que se van haciendo al desarrollar en Java. Las voy descubriendo, pero aún no acabo de entenderlas del todo. Por ejemplo:

- Cómo usar TAB, Alt+Enter, Ctrl+May+Enter, etc. para autocompletar.
- Navegación por el código: entrar en métodos, en implementaciones, vista rápida, moverte dentro de un fichero (de método en método)
- Búsquedas de clases, métodos, constantes, textos, ...

Cosas así, vamos. Un tutorial que te ayude a ser más productivo, porque los que venimos de Eclipse intentamos encontrar los comandos equivalentes, pero a veces son diferentes, a veces hay cosas nuevas que no existen en Eclipse y a veces cambia incluso la filosofía (maneras más efecientes de hacer ciertas cosas).

Si alguien conoce alguno, por favor que diga dónde está.
Los tutoriales de tv.jetbrains.net están bien, pero son muy dispersos y faltan vídeos de cosas importantes.

Gracias!

Ferran

Fecha publicación: 2012-03-28-10:00:20

Autor: dhernandezdp

Llevo como un mes usando este IDE y la verdad es que es muy muy bueno, si bien es cierto que, después de muchos años trabajando con Eclipse, hay cosas que se me hacen complejas... Supongo que será por falta de práctica :)