2011-11-19 20 views
40

Soy nuevo en Maven y estoy usando el maven.apache.orgtutorial here como introducción.¿Cómo crear un proyecto usando maven-archetype-plugin? ¿Qué es artefacto, etc.?

En la sección "? ¿Cómo hago mi primer proyecto Maven" del tutorial, que nos enseña a generar un proyecto arquetipo Maven ejecutando el siguiente comando:

mvn archetype:generate 

Después de Maven descargado muchos artefactos, que de repente se detuvo y les hizo la siguiente pregunta en la línea de comandos:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149: 

el tutorial Apache no describe este mensaje.

Tengo dos preguntas:

1. ¿Cuál es la pregunta anterior pidiendo? ¿Cómo se debe responder de manera que el proceso mvn archetype:generate continúe?

2. Convencionalmente, ¿las personas usan mvn archetype:generate para crear un proyecto Maven?

actualización -------------- ---------------------

Con respecto a mi Primera pregunta, presioné "enter" sin ingresar ningún valor y obtuve la siguiente salida:

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: 

¿Qué es eso?

I de entrada "1" en el caso anterior, luego me las siguientes cosas:

Define value for property 'package': : : 
Define value for property 'groupId': : 
Define value for property 'artifactId': : 
... 

¿Cómo puedo definir?

Respuesta

4

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 simplemente 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.

+0

@ Chris, por favor revisa mi actualización en mi publicación, presiono enter, pero obtuve resultados extraños. ¿Qué son? – Mellon

+0

esas son las versiones del arquetipo disponible en su repositorio. A menos que tenga una razón convincente de lo contrario, debe usar la última (por lo tanto, en este caso, la versión 1.1) – Chris

+3

Puede desactivar todas las solicitudes usando el modificador 'ineractiveMode = false'. Pruebe 'mvn archetype: generate -DgroupId = com.mycompany -DadifactId = someProject -DinteractiveMode = false'. Espero que ayude. –

39

El comando mvn archetype:generate se utiliza para crear un proyecto a partir de una plantilla existente. Hay muchos arquetipos definidos por muchos desarrolladores y grupos de proyectos. Cuando ejecuta el comando, maven hace lo siguiente:

  1. Descarga la última versión de maven-archetype-plugin.
  2. 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.
  3. Por defecto, experto elige experto-arquetipo de inicio rápido arquetipo que básicamente crea un proyecto Maven Hello World con las clases de origen y de 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. P.ej. 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).
  4. Como los arquetipos son plantillas y pretenden reflejar las mejores prácticas actuales, pueden evolucionar en tiempo, así 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;
  5. 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 rompecabezas de nombres. (read more)
  6. 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.

1

Una mirada rápida al tutorial revela que omitió algunos parámetros del 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 plugin de arquetipo y eliges # 149. Este arquetipo sale en diferentes versiones y normalmente, como dice Chris, puedes elegir el ú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.

0

También puede usar la forma corta

mvn archetype:generate -Dfilter=org.example.group:example-artifact 

o solamente un grupo:

mvn archetype:generate -Dfilter=org.example.group: 

Usted recibirá el siguiente artefacto (en el primer caso) si existe en cualquier catálogo configurado :

<groupId>org.example.group</groupId> 
<artifactId>example-artifact</artifactId> 

O obtendrá 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 a maven website para más!

Cuestiones relacionadas