2010-10-09 20 views
13

Estoy armando un arquetipo maven que tiene un montón de propiedades personalizadas que se utilizan para filtrar los diversos recursos de arquetipo. Tengo estos especificados con los valores predeterminados en el archetype-metadata.xml, por ejemplo.Preguntar por las propiedades del arquetipo maven con los valores predeterminados

<requiredProperties> 
    <requiredProperty key="application-name"> 
    <defaultValue>Some Application</defaultValue> 
    </requiredProperty>> 
</requiredProperties> 

Sin embargo, cuando intento crear un proyecto con el arquetipo, que no me permite cambiar estos interactiva. Por ejemplo, se pide para la versión con defecto de la siguiente manera

Define value for property 'version': 1.0-SNAPSHOT: 

permitiendo una versión que se entró, pero por defecto a 1.0-SNAPSHOT si no se introduce nada. Para mis propiedades personalizadas, se limita a las muestra antes de crear el nuevo proyecto

[INFO] Using property: application-name = Some Application 

Si Omito el valor por defecto del arquetipo-metadata.xml entonces me pedirá un valor, pero no hay ningún valor predeterminado.

¿Es posible proporcionar un valor predeterminado y seguir recibiendo un aviso?

Respuesta

0

Lo planteé en la lista de correo de Maven pero no obtuve respuesta. Como solución, mientras tanto, las propiedades del sistema se pueden utilizar para anular ellos en la línea de comandos cuando el arquetipo se ejecuta

e.g. -Dapplication-name="Some Application" 
7

favor busque una pregunta final para confirmar los ajustes. En mi caso, hay una pregunta final:

: 
Confirm properties configuration: 
groupId: .... 
Y: : 

si entro n continuación se todas las propiedades re-preguntar interactivo con mis valores por defecto de arquetipo-metadata.xml.

Aquí es mi parte de la consola:

Choose archetype: 
1: file:///C:\Aktentasche\_daten\m3 -> maven-dsl-project-archet... 
Choose a number: : 1 
Downloading: file:///C:\Aktentasche\_daten\m3/net/sf/maven/plug... 
data.xml 
[INFO] Using property: groupId = net.sf.maven.plugins 
[INFO] Using property: artifactId = dslexample 
[INFO] Using property: version = 1.0.0-SNAPSHOT 
[INFO] Using property: package = net.sf.maven.plugins 
[INFO] Using property: eclipse_platform = helios 
[INFO] Using property: tycho_version = 0.8.0 
Confirm properties configuration: 
groupId: net.sf.maven.plugins 
artifactId: dslexample 
version: 1.0.0-SNAPSHOT 
package: net.sf.maven.plugins 
eclipse_platform: helios 
tycho_version: 0.8.0 
Y: : 

aquí debo entrar en n para el diálogo interactivo con los valores predeterminados.

6

En resumen, no, no es posible. Hay un problema JIRA en esto. Si es un problema para usted, es posible que desee votar por él.

1

Sé que esto está lejos de ser ideal, pero si se proporciona el valor por defecto para todo el requiredProperty (incluyendo groupId, artifactId, la versión y el paquete) se le propted con la hoja de vida y luego introduciendo n va a lograr sus objetivo

-2

¿Tratas de tomar el segundo quilate de la conclusión requiredProperty?

Cambio </requiredProperty>> a </requiredProperty>

Parece cuestión XML posiblemente con formato incorrecto.

Cuestiones relacionadas