<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5078236\x26blogName\x3dSoloJava+Noticias\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://solojava.blogspot.com/search\x26blogLocale\x3des_ES\x26v\x3d2\x26homepageUrl\x3dhttp://solojava.blogspot.com/\x26vt\x3d1431656211189939993', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script>

SoloJava Noticias

Lo mejor del mundo IT con o sin Java

Maven: There's a new Sheriff in town

Built by mavenA pesar de que Ant es el estándar de facto como build tool para Java. "There's a new Sheriff in town".
Y es que rápidamente Maven (el cual está basado en Ant) se ha convertido en el tool por excelencia para administración y comprensión de proyectos Java. Casi todos los proyectos open-source Java (de cierto renombre) están siendo "manejados" en la actualidad con Maven.

Maven está basado en el concepto de un project object model (POM). Todos los artefactos son producidos y controlados a través del POM. Los artefactos más comunes incluyen: builds, documentación, métricas de los fuentes, lista de dependencias, reportes de unit tests y source cross-references entre otros.

Un concepto interesante que incorpora Maven es el uso de un repositorio central para los JARs. Maven provee un mecanismo que permite descargar automáticamente cualquier dependencia necesaria por el proyecto. Esto permite llevar un mejor control de versiones para las dependencias, asi como la reusabilidad de los JARs. Por defecto Maven viene configurado para usar el repositorio central definido en Ibiblio, sin embargo es fácilmente configurable para usar un repositorio propio, o mejor aun, una jerarquía de repositorios (si la dependencia no la consigue en mi repositorio central, busca en Ibiblio)

Nosotros lo hemos venido usando por casi dos años para nuestros proyectos, y realmente nos ha ayudado mucho en la automatización de los artefactos que elaboramos.

La versión 1.0 de Maven fue liberada el 13 de Julio.

Les recomiendo darle una probada ;-)
« Home | Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »

7:44 p. m.

Que coincidencia, recientemente he estado migrando en mi trabajo muchos modulos a Maven, pero algunos de ellos me han resultado díficil, principalmente los EJBs; la razón está en que Maven esta muy orientado en proyectos donde todo el código fuente se encuentra en un solo directorio, en nuestro caso cada modulo EJB contiene tres directorios: client, server y xdoclet, donde en client se encuentran las interfaces, server la implementacion de los beans y en xdoclet lo generado por XDoclet (http://xdoclet.sourceforge.net/).

De tu experiencia con Maven como atacarías este problema, preferiblemente sin tener que separar todo en múltiples módulos? Gracias    



4:07 p. m.

Robert:
Nosotros tenemos un "problema" de principios con los EJB y no los usamos en nuestras aplicaciones, en vez preferimos acceder la base de datos via Torque o Hibernate.
Sin embargo, me imagino que el problema que experimentas es el principio de Maven de "1 artefacto por proyecto".
En nuestro caso las aplicaciones Web que generamos son "deployed" via un EAR el cual contiene a su vez un WAR. Sin embargo tenemos un solo proyecto Maven. Lo que hacemos es editar el maven.xml para proporcionar unos goal, pre-goal o post-goal (segun sea el caso) que genere el artefacto intermedio, en nuestro caso el WAR. Estas modificaciones son bien sencillas.
Espero haberte sido de ayuda, si tienes dudas contactame.    



» Publicar un comentario