Posted: June 5th, 2010 | Author: Edu | Filed under: Archiva, Continuous-Integration, Hudson, Java, Maven, Tools | Tags: Archiva, Continuous-Integration, Hudson, Java, Maven, Tools | No Comments »
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Supongamos que tenemos un proyecto dividido en varios módulos de funcionalidad y que cada módulo de funcionalidad genera un artefacto. Por ejemplo:
- core.jar: Almacena la lógica de negocio común.
- web.war: Aplicación web que hace uso de la lógica de negocio (utiliza core.jar).
Cada vez que modificamos la lógica de negocio subiendo código al gestor de versiones y se genere un artefacto core.jar queremos que se genere un nuevo artefacto web.war que incluya las modificaciones de el primero. Esto lo podemos conseguir fácilmente con Hudson, Maven y Archiva. Partimos de la base que tenemos el servidor Hudson montado y que tenemos dos proyectos definidos “core” y “web”. Ambos proyectos funcionan con Maven.
Instalación y arranque rápido de Apache archiva:
- Descargar y descomprimir Apache Archiva en la máquina que vaya a hacer de servidor de repositorios Maven. En mi caso es la misma máquina dónde se encuentra Hudson.
- Ejecutar Apache Archiva:
# $ARCHIVA_HOME/bin/archiva console
- Definir los repositorios que consideremos oportunos y usuarios con perfil “Repository Manager”. En mi caso trabajaré con el repositorio “snapshots” que viene definido por defecto.
Configuración Maven:
- Editar el fichero pom.xml de todos los proyectos y añadir el repositorio archiva:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <repositories>
...
<repository>
<id>archiva.snapshots</id>
<url>http://localhost:8081/archiva/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
...
</repositories> |
- Editar el fichero pom.xml del proyecto web y añadir la dependencia al proyecto core, por ejemplo:
1
2
3
4
5
| <dependency>
<groupId>com.sourcerebels</groupId>
<artifactId>core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency> |
- Editar el fichero de configuración de Maven (settings.xml):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <servers>
...
<server>
<id>archiva.internal</id>
<username>usuario_archiva</username>
<password>password_archiva</password>
</server>
<server>
<id>archiva.snapshots</id>
<username>usuario_archiva</username>
<password>password_archiva</password>
</server>
...
</servers> |
Configuración Hudson:
- Para cada uno de los artefactos del proyecto configuraremos que se despliegue en el repositorio “archiva.snapshots”:

- Con este punto conseguiremos que cada vez que se genere una nueva versión del fichero core.jar esta se archive en el repositorio Maven. Ahora para que el proyecto web se construya cuando alguno de los snapshots de los que depende sean construidos:

Esto es todo
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Posted: November 22nd, 2009 | Author: Edu | Filed under: Compiler, Java, Maven | Tags: Compiler, Java, Maven | No Comments »
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
At your pom.xml / En tu fichero pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Posted: November 21st, 2009 | Author: Edu | Filed under: Java, Maven, UrlRewriteFilter | Tags: Java, Maven, UrlRewriteFilter | No Comments »
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Add this Maven dependency to your pom.xml or download urlrewrite*.jar from UrlRewriteFilter Home / Añade esta dependencia Maven a tu pom.xml o descarga urlrewrite*.jar desde la home de UrlRewriteFilter.
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>3.1.0</version>
</dependency>
Add this filter definition to your web.xml file / Añade esta definición de filtro a tu fichero web.xml:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Add the file urlrewrite.xml to your WEB-INF directory / Añade el fichero urlrewrite.xml a tu directorio WEB-INF:
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
"http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite>
<rule>
<from>^/some/olddir/(.*)$</from>
<to type="redirect">/very/newdir/$1</to>
</rule>
<rule match-type="wildcard">
<from>/blog/archive/**</from>
<to type="redirect">/roller/history/$1</to>
</rule>
</urlrewrite>
Some useful links / Algunos enlaces útiles:
UrlRewriteFilter Download
UrlRewriteFilter Manual v3.0
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Posted: November 15th, 2009 | Author: Edu | Filed under: Java, Maven, XML Schema | Tags: Java, Maven, XML Schema | No Comments »
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Ruta dónde almacenar los ficheros .xsd:
src/main/xsd
Extracto del fichero pom.xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id />
<phase>generate-sources</phase>
<goals>
<goal>xmlbeans</goal>
</goals>
</execution>
</executions>
<configuration>
<verbose>true</verbose>
<quiet>false</quiet>
<outputJar>target/schema.jar</outputJar>
<javaSource>1.5</javaSource>
</configuration>
</plugin> |
Ruta de generación de ficheros .java:
target/generated-sources
Ruta de generación de ficheros .class:
target/generated-classes
JAR generado:
target/schema.jar
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Posted: November 14th, 2009 | Author: Edu | Filed under: Eclipse, Java, Maven | Tags: Eclipse, Java, Maven | No Comments »
VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)
Actualización:
Para descargar la integración con WTP, actualmente se debe hacer desde el update site:
http://m2eclipse.sonatype.org/sites/m2e-extras
- Añadir el “update site” del plugin m2eclipse.
http://m2eclipse.sonatype.org/update/
- Instalar los componentes dentro del grupo “Maven Integration” y el componente “Maven Integration for WTP”.

- Una vez instalados los componentes, reiniciar Eclipse.
- Crearemos un nuevo proyecto Maven pulsando control+N y seleccionando “Maven Project” de la categoría de proyectos “Maven”.

- En la primera pantalla del asistente dejaremos todas las opciones por defecto para crear un proyecto a partir de un arquetipo.
- Escogeremos el arquetipo “maven-archetype-webapp” y pulsaremos “Next”.

- Seleccionaremos los valores de las propiedades GroupId (Agrupación), ArtifactId (Identificador del artefacto), Version y Package.
- Desde este momento ya es posible añadir el proyecto a alguno de los servidores configurados en WTP y lo que es mejor utilizar el depurador en caso de que lo necesitemos.

VN:F [1.9.2_1090]
Rating: 0.0/5 (0 votes cast)