Crear un nuevo proyecto Java con Maven

El plugin archetype de Maven nos permite crear un proyecto de Maven 2 a partir de un template existente.

Para crear un proyecto Java simple (directorio de código fuente, directorio de código fuente para tests, clase de ejemplo, clase de test de ejemplo y pom.xml) utilizamos el goal archetype:create en el directorio padre del proyecto, de la siguiente manera:

mvn archetype:create -DgroupId=com.josearrarte -DartifactId=test

Este comando crea el proyecto con un POM como el siguiente:

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.josearrarte</groupId>
	<artifactId>test</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>test</name>
	<url>http://maven.apache.org</url>
	
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

La estructura de directorios generada queda:

(root)
|   pom.xml
|
---src
    +---main
    |   ---java
    |       ---com
    |           ---josearrarte
    |                   App.java
    |
    ---test
        ---java
            ---com
                ---josearrarte
                        AppTest.java

Otros posibles goals del plugin archetype son los siguientes:

  • archetype:generate muesta un catálogo de plantillas y pide al usuario que seleccione uno. Luego de un conjunto de pasos variables (según la cantidad de parámetros pedidos al usuario), el plugin se baja la plantilla, procesa los parámetros y genera un projecto Maven.
  • archetype:create-from-project crea una nueva plantilla a partir de un proyecto existente.
  • archetype:crawl: escanea el repositorio en búsqueda de nuevos templates y actualiza el catálogo

Más info:

Etiquetado , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *