Archivo de la Categoría “Herramientas”


Si habitualmente utilizas más de un ordenador y no tienes espacio en tu mesa para los conjuntos de teclado y ratón o te molesta cambiar de uno a otro continuamente, puede que te interese este artículo.

Como ya sabrás, en el mercado existen equipos hardware denominados KM switch (para teclado y ratón) o KVM switch (para teclado, monitor y ratón) que te permiten compartir teclado, monitor y ratón entre dos o mas equipos. Sin embargo, estos aparatos necesitan cableado adicional y pueden llegar a ser bastante caros. En este artículo te presento algunas alternativas basadas en software para realizar esta labor.

Lee el resto de esta entrada »

Tags: , , , , ,

Comments No Hay Comentarios »

Tengo que reconocer que cuanto más uso Maven más me gusta. Un sistema de construcción de proyectos estándar, extensible y basado en una lenguaje declarativo[1] es, al menos en su planteamiento, una herramienta muy prometedora.

Sin embargo, el proceso de aprendizaje ha sido largo y duro, entre otras cosas, porque Maven parece estar en un continuo estado de inestabilidad, plagado de detalles indocumentados, de versiones Beta, actualizaciones, etc. Tanto es así, que aún después de haber leído los dos libros gratuitos que hay en la Red[2], la documentación y numerosos foros y artículos, todavía me quedan muchos puntos oscuros.

Hasta ahora Maven me ha sido muy útil en temas como en la automatización del proceso de construcción, almacenamiento de los artefactos de forma ordenada utilizando repositorios compartidos o la obtención de artefactos de terceros almacenados en repositorios en Internet y, sin embargo, me he encontrado muchos problemas en lo que se supone que es un punto fuerte de Maven: la gestión de dependencias.

Aquí comienza una serie de tres entradas en las que voy a tratar de explicar como funciona la gestión de dependencias en Maven pero, sobre todo, voy a profundizar en los aspectos que no están claros en la documentación (o que no lo estaban para mi) y que he aprendido, a las malas, con la experiencia.

En esta entrada hablaré sobre los aspectos básicos de la gestión de dependencias con Maven, la segunda tratará características avanzadas y la tercera y última estará dedicada a diseño y buenas prácticas[3].

Lee el resto de esta entrada »

  1. Al contrario que Apache Ant, que tiene un enfoque procedural.
  2. En la última entrada incluiré reseñas bibliográficas y de otros recursos en Internet.
  3. Todo lo que se refiere en esta serie de artículos está basado en la versión 2.1.0-M1. Como ya he dicho, Maven está en continua evolución y puede que tu versión no se comporte igual en ciertos aspectos.
Tags: , ,

Comments 2 Comentarios »

La herramienta APT del JDK sirve para procesar las anotaciones presentes en el código Java permitiendo,  por ejemplo, generar nuevas clases a partir de los metadatos que contienen.

Si quieres integrar esta herramienta en la construcción de un proyecto con Maven puedes utilizar el maven-apt-plugin de Tobago[1]. Este plugin hace casi todo el trabajo pero, como veremos más adelante, es necesario realizar algunos ajustes para que el proyecto se construya de forma adecuada en la línea de comandos y en Eclipse con m2eclipse.

Lee el resto de esta entrada »

  1. Existen otras formas mas "artesanales" de hacerlo como, por ejemplo, ésta: http://blogs.steeplesoft.com/maven-and-annotations-not-as-easy-as-it-should-be/
Tags: , , , ,

Comments No Hay Comentarios »

Buscando una forma de crear accesos directos y de acceder al registro Windows desde Apache Ant he encontrado Orangevolt Ant Tasks.

Se trata de 17 tareas que pueden ser de utilidad en la creación de scripts Ant para instalar programas en Windows y Linux:

  • win32.properties: obtiene las propiedades de Windows (rutas a escritorio, menú de inicio, etc).
  • win32.registry: lee y actuakiza el registro de Windows.
  • win32.shortcut: crea una acceso directo a un fichero.
  • sfx: crea un autoextraible nativo a partir de un fichero “ZIP”.
  • jstub: crea un ejecutable nativo a partir de un fichero “jar”.
  • jnlp: crea un fichero JNLP para Java Web Start.
  • preferences: permite acceder al API de preferencias de Java.
  • properties: escribe un fichero de propiedades Java.
  • find: busca un fichero en el disco duro a partir de un patrón.
  • compare: compara propiedades o listas de propiedades independientemente de su tipo.
  • execute: ejecuta un bloque de tareas una o mas veces dependiendo de un condición.
  • call: ejecuta una tarea una o mas veces dependiendo de un condición.
  • os.properties: obtiene una lista de propiedades con información acerca del SO.
  • unix.link: crea un enlace en Unix.
  • unix.kde.shortcut: crea un acceso directo a un fichero.
  • unix.kde.directoryshortcut: crea un acceso directo a directorio.
  • HttpGet, HttpPost y HttpRead: permite cargar y descargar información mediante HTTP.

Lee el resto de esta entrada »

Tags: , ,

Comments No Hay Comentarios »

Existen dos plugins para integrar Maven en Eclipse: m2eclipse y Q4E.

Hasta hace muy poco he venido usando Q4E. Me parecía que estaba mejor integrado con Eclipse, tenía visor de dependencias y había sido admitido oficialmente por la fundación Eclipse. Sin embargo, después de sufrir sus fallos durante algún tiempo y de constatar que no salían nuevas versiones me he decidido a darle otra oportunidad a m2eclipse.

En seguida me he dado cuenta de que m2eclipse no ha dejado de avanzar. Ya tiene las características que me gustaron de Q4E y muchas otras. Además, parece más estable y trabajado, lo cual no es extraño ya que lleva mucho mas tiempo en desarrollo (fue el primero). Para mi sorpresa, también m2eclipse está en la incubadora de la fundación Eclipse[1].

En las próximas líneas voy a tratar de explicar el procedimiento que he utilizado para instalar un entorno de desarrollo capaz de construir proyectos Maven en Eclipse, con m2eclipse, y desde la línea de comando.

Lee el resto de esta entrada »

  1. Es extraño que existan dos plugins aceptados por Eclipse para hacer lo mismo. No se si es bueno, teniendo en cuenta que se fomenta la competencia, o malo, porque se duplican esfuerzos
Tags: , , ,

Comments 7 Comentarios »

Hasta ahora, la siguiente versión de Maven iba a ser la 2.1, pero parece ser que las modificaciones necesarias en el núcleo para arreglar los fallos y añadir nuevas funcionalidades son incompatibles con la rama 2.x, lo que les ha llevado a la decisión de moverlas a la versión 3.0.

La versión 2.0.10, en la que ya se habían corregido errores y añadido características, pasa a ser ahora 2.1.0-M1. Además, estas correcciones se aplicarán también en la rama 2.0.x para sacar la versión 2.0.10.

El anuncio fue publicado en un blog de SonaType el día 5 de septiembre. Esta empresa es la creadora del plugin de Eclipse para Maven m2eclipse y del repositorio Nexus.

Tags:

Comments No Hay Comentarios »