java - proyecto - ¿Alguna buena guía avanzada sobre cómo crear nuevos arquetipos maven?
maven-archetype-webapp (6)
Estoy buscando una guía sobre cómo crear nuevos arquetipos de Maven que impliquen el uso de parámetros para crear directorios y nombres de archivos donde los parámetros se usen como prefijos en los nombres de archivos y parte de la estructura del paquete / directorios creados por el arquetipo.
Todo lo que puedo encontrar son instrucciones muy simples sobre cómo hacer proyectos muy simples.
¿Por qué no usar el propio sitio web de maven?
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
Aquí hay una descripción breve pero muy útil http://javajeedevelopment.blogspot.fr/2012/05/how-to-create-maven-archetype.html
Creo que encontré un sitio que me ayuda un poco más una vez que descubrí que las plantillas de Velocity se utilizan como parte de los procesos de arquetipo.
Creo que encontramos el mismo problema, finalmente lo resolví con una explicación de este article
asumiendo que desea generar el paquete com.company.base . dal.dao , llamamos com.company.base es el paquete raíz, dal.dao es el paquete principal, luego simplemente coloque su plantilla en el archivo java bajo src / main / java / dal / dao, y modificamos el packaged="true"
en META -INF / maven / archetype-metadata.xml como se muestra a continuación
<fileSet filtered="true" packaged="true" encoding="GBK"><!--packaged="true" tells maven to copy the core package in to root package while creating a project.-->
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
Por ejemplo, si configura -Dpackage=com.alibaba.china
después de ejecutar el arquetipo mvn: genere, creará un paquete fuente de java como com / alibaba / china / dal / dao / sample.java
como la forma de proporcionar la información del paquete de prefijo en sample.java, simplemente use $ {package} como se muestra a continuación
package ${package}.dal.dao;
el complemento de arquetipo reemplazará $ {package} con -Dpackage como plantilla de velocidad
Incluso estoy buscando lo mismo. Incluso la página de inicio de Maven me parece muy básica y no cumple con nuestro requisito.
Incluso intenté HowToCreateMavenArchetypeFromProject pero todavía tengo una pregunta. Cómo invocar un archivo específico del arquetipo cuando se genera el proyecto de ese tipo de arquetipo. Para ser específico, si tengo una clase java App.java, ¿cómo invocar eso al crear un proyecto?
Lo que sucede con create-archetype-from-project es que crea un proyecto con los mismos archivos y la misma estructura de directorios, y debemos ejecutarlo nuevamente para ponerlo en acción.
Además, $ {groupId} y esas cosas solo funcionan en archivos maven. ¿Qué sucede si tengo un archivo de propiedades y quiero usar el artefacto que el usuario ha ingresado?
Hazme saber si te encuentras con algo bueno. Mientras tanto, también te avisaré cuando encuentre alguna solución.
Gracias
de la documentación de maven: http://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-descriptor.html
Un conjunto de archivos define la forma en que el Archetype Plugin utiliza los archivos del proyecto ubicados en el archivo jar para generar un proyecto. Si el nombre del archivo o directorio contiene un patrón de propiedad , se reemplaza con el valor de propiedad correspondiente.
si puedes nombrar el archivo como
__artifactId___local.properties
... cuando genere el proyecto con artifactId = foo contendrá este archivo:
foo_local.properties