La mejor forma de saber como se hace es con un ejemplo. Supongamos que se dispone de dos proyectos:
El proyecto1 tiene la siguiente clase:
package es;
public class Dependencia{
public void funcionDos (){}
}
El proyecto2 tiene la siguiente clase:
package es;
public class Main{
public void main (String [] arg){
new es.Dependencia().funcionDos ();
}
}
El proyecto2 es el subproyecto principal del proyecto (siempre hay un subproyecto que es el principal, o al menos el punto de entrada a todo el proyecto) y tiene una dependencia con el proyeto1.
La forma más elegante es generar el proyecto completo es crear 3 ficheros pom.xml: uno para la gestión de todo el proyecto y uno por cada subproyecto. El pom.xml de todo el proyecto se coloca a la altura en el raíz de los subproyectos y luego cada pom.xml en el subproyecto correspondiente. La estructura del proyecto general será:
- pom-todo.xml:
<project>
<name>Maven 2 Example</name>
<url>http://www.attainware.com/</url>
<modelVersion>4.0.0</modelVersion>
<groupId>es</groupId>
<version>1.0</version>
<artifactId>proyecto</artifactId>
<packaging>pom</packaging>
<modules>
<module>proyecto1</module>
<module>proyecto2</module>
</modules>
</project>
- Pom.xml del proyecto 1:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>es</groupId>
<artifactId>proyecto1</artifactId>
<version>1</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
- Pom.xml del proyecto2:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>es</groupId>
<artifactId>proyecto2</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>es</groupId>
<artifactId>proyecto1</artifactId>
<version>1</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Ahora solo resta ejecutar el comando mvn -f pom-todo.xml install a la altura del fichero pom-todo.xml. En cada subproyecto se habrá generado una carpeta “target” con todos los binarios.
No hay comentarios:
Publicar un comentario