Mostrando las entradas con la etiqueta create archetype. Mostrar todas las entradas
Mostrando las entradas con la etiqueta create archetype. Mostrar todas las entradas

martes, 1 de julio de 2008

Nuestro propio Archetype Maven (Arquetipo=Template)

Bueno, básicamente un archetype es un Template (molde) de Maven, una herramienta que explicare con mas detalle en otro post.

Para Crear un template propio, un molde que genere todo lo que queramos apara hacer el típico
"New Project" , y que sea como queramos , hacemos lo siguiente (Todo esto teniendo Maven2 ya instalado)

creamos una carpeta raíz donde nos guste .

$ cd carpeta



"D" es para indicar parámetro
"groupId" DgroupId=nombre de la empresa, grupo , etc.
"artifactId" DartifactId=nombre del archetype (nombre del template).
"archetypeArtifactId" DarchetypeArtifactId= nombre del template en el que nos basamos




$ mvn archetype:create -DgroupId=mberrueta -DartifactId=proyecto-basico -DarchetypeArtifactId=maven-archetype-archetype


esto nos va a crear una estructura de directorios que también estará en la explicación de maven. =)

en src estan los fuentes del template (archetype en adelante)
desp de compilar estara la carpeta target
main/resources tenemos:
archetype-resources (aca van los templates)
META-INF (aca va el listado de archivos a utilizar)

nos va a crear como debe ser el pom (xml de configuración de maven) , un "hola mundo" y un test de "hola mundo"

hay un bug que para arreglarlo se debe reemplazar en los "holas mundos " (App.java y AppTest.java el :

package $"el groupId que pusimos"; --->por---> package $package;

luego en el pom.xml


$"el groupId que pusimos"
$"el artifactId que pusimos"
$1.0-SNAPSHOT

por

$groupId
$artifactId
$version


Luego, Editamos/Agregamos los .java que queramos , o el POM y cuando creemos una aplicación con nuestro archetype utilizara este template.
Para Agregar hay que editar el archivo
META-INF\maven\archetype.xml

y agregarle el source que queramos por ej:


src/main/java/App2.java

luego


$ mvn install


Con esto lo tenemos instalado en nuestro repositorio local, y ya podemos usarlo.

Ahora, para usarlo sin las comillas (")

mvn archetype:create
-DarchetypeGroupId="el groupId que pusimos al template"
-DarchetypeArtifactId="el artifactId que pusimos al template"
-DarchetypeVersion=1.0-SNAPSHOT
-DgroupId="group id de este proyecto"
-DartifactId="artifact id de este proyecto"

ej:


$mvn archetype:create
-DarchetypeGroupId=mberrueta
-DarchetypeArtifactId=proyecto-basico
-DarchetypeVersion=1.0-SNAPSHOT
-DgroupId=mberrueta
-DartifactId=progama-nuevo