martes, 25 de mayo de 2010

Un par de funcionalidades de Maven 2

Utilizar artefactos que no están en ningún repositorio

Un problema recurrente en Maven 2 es cómo usar y versionar artefactos que no hay en ningún repositorio público. Se pueden instalar en el repositorio local, o en el privado de la empresa, pero si quieres distribuir el código fuente, éste no va a compilar sin hacer ciertos pasos previos. Una forma de solucionar esto es lo que propongo aquí, y es guardar los jars necesarios en el directorio lib del proyecto que los necesita e instalarlos en el repositorio local durante la fase 'initialize' usando el plugin 'maven-install-plugin'. En mi caso me hizo falta para incluir en mi aplicación el puente PHP/Java.

    <plugins>
        <plugin>
            <!-- Install the JavaBridge JARs in the local maven repository : JavaBridge -->
            <artifactId>maven-install-plugin</artifactId>               
           
<executions>
                <execution>
                    <id>install-javabridge-javabridge</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <file>lib/JavaBridge.jar</file>
                        <groupId>net.sourceforge.phpjavabridge</groupId>
                        <artifactId>JavaBridge</artifactId>
                        <packaging>jar</packaging>
                        <version>${phpjavabridge.version}</version>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <properties>
        <phpjavabridge.version>6.1.2.1</phpjavabridge.version>
    </properties>


versions:set 

Existe una plugin en Maven para aumentar la versión en todos los módulos de un proyecto multimódulo. Estas son las llamadas que utilizo:

mvn versions:set -DnewVersion=1.2
mvn versions:commit

No hay comentarios:

Publicar un comentario