que - ¿Cómo crear un proyecto usando maven-archetype-plugin? ¿Qué es artefacto, etc.?
maven tutorial (4)
Soy nuevo en Maven y estoy usando el tutorial de maven.apache.org aquí como introducción.
En la sección " ¿Cómo hago mi primer proyecto Maven? " Del tutorial, nos enseña a generar un proyecto de arquetipo Maven ejecutando el siguiente comando:
mvn archetype:generate
Después de que Maven descargó muchos artefactos, de repente se detuvo e hizo la siguiente pregunta en la línea de comando:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149:
El tutorial de Apache no describe este aviso.
Tengo dos preguntas:
1. ¿Qué pregunta está haciendo la pregunta anterior? ¿Cómo debería responderse de manera que el mvn archetype:generate
continúe?
2. Convencionalmente, ¿las personas usan mvn archetype:generate
para crear un proyecto Maven?
--------------Actualizar---------------------
Con respecto a mi primera pregunta, presioné "enter" sin ingresar ningún valor y obtuve el siguiente resultado:
Choose version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
¿Que es eso?
Ingresé "1" en el caso anterior, luego obtuve las siguientes cosas:
Define value for property ''package'': : :
Define value for property ''groupId'': :
Define value for property ''artifactId'': :
...
¿Cómo puedo definirlos?
También puedes usar la forma abreviada
mvn archetype:generate -Dfilter=org.example.group:example-artifact
O incluso solo un grupo:
mvn archetype:generate -Dfilter=org.example.group:
Obtendrá el siguiente artefacto (en el primer caso) si existe en cualquier catálogo configurado:
<groupId>org.example.group</groupId>
<artifactId>example-artifact</artifactId>
O recibirás múltiples sugerencias si hay más de un candidato. Por lo tanto, deberá elegirlos ingresando el índice que se muestra en la lista de opciones.
¡Consulte el website maven para obtener más información!
Te está preguntando qué arquetipo quieres usar para iniciar tu proyecto. Si presiona "enter" en ese aviso, le dará una lista de opciones disponibles. Puede usar maven-archetype-quickstart
para crear un proyecto simple (puede solicitarle que elija un repositorio después de esto, en ese caso, simplemente ingrese el número que corresponde al primer repositorio enumerado después de ingresar esto).
Para responder a su otra pregunta: sí, usar un arquetipo es una forma común de configurar un nuevo proyecto. Principalmente porque hay muchos arquetipos disponibles para todo tipo de proyectos / módulos. Una vez que sepa qué arquetipo desea, utilizarlo para iniciar un proyecto es la forma más sencilla de comenzar.
Una mirada rápida al tutorial revela que omitió algunos parámetros al arquetipo: generar comando. Es por eso que no sabe de qué arquetipo elegir para generar su proyecto tutorial y le presenta todos los arquetipos disponibles (149).
Primera pregunta: Al presionar regresar, aceptaste la sugerencia del complemento de arquetipo y eliges # 149. Este arquetipo sale en diferentes versiones y normalmente, como dice Chris, puedes elegir lo último - aquí 1.1.
Segunda pregunta: dado que un arquetipo es una especie de plantilla que puede ahorrarle mucho trabajo: sí, eso es común. Pero no es la única forma: siempre puedes comenzar con un proyecto vacío.
mvn archetype:generate
command se usa para crear un proyecto a partir de una plantilla existente. Hay muchos arquetipos definidos por muchos desarrolladores y grupos de proyectos. Cuando ejecutas el comando, maven hace lo siguiente:
- Descarga la última versión de maven-archetype-plugin.
- Enumera todos los arquetipos que se pueden usar para crear un proyecto. Si definió un arquetipo al llamar al comando, maven salta al paso 4.
- Por defecto, maven elige el arquetipo maven-archetype-quickstart que básicamente crea un proyecto Hello World con clases de fuente y prueba. Si desea crear un proyecto simple, puede presionar enter para continuar. Si desea crear un tipo específico de aplicación, debe encontrar el arquetipo que coincida con sus necesidades e ingresar el número de ese arquetipo, luego presione enter. Por ejemplo, si desea crear un proyecto de aplicación web, puede ingresar 153 (este es el número actual para este arquetipo, puede cambiar en el tiempo).
- Como los arquetipos son plantillas y tienen la intención de reflejar las mejores prácticas actuales, pueden evolucionar en el tiempo, por lo tanto, tienen sus propias versiones. Maven le preguntará qué versión del arquetipo desea usar. Por defecto, maven elige la última versión para ti. entonces, si acepta usar la versión más reciente de un arquetipo, simplemente presione Intro en este paso;
- Cada proyecto (y módulo) de maven tiene su groupId, artifactId y versión. Maven luego te preguntará esto en tres pasos. groupId: Esto es generalmente único entre una organización o un proyecto. artifactId: el artifactId es generalmente el nombre con el que se conoce el proyecto. versión: Esta es la última pieza del acertijo de nombres. ( leer más )
- Finalmente, maven le preguntará la estructura del paquete para su código. Una práctica recomendada es crear la estructura de su carpeta que refleje el ID de grupo, por lo que Maven establece esto como predeterminado, pero puede cambiarlo.
Después de ingresar esta información, Maven le mostrará toda la información que ingresó y le pedirá que verifique la creación del proyecto. Si presiona Y y luego ingresa, su proyecto se creará con el artefacto y la configuración que elija.
También puede leer el sitio de uso de maven-archetype-plugin .