2010-10-09 11 views
13

Sto assemblando un archetipo di tipo Maven che ha un sacco di proprietà personalizzate che vengono utilizzate per filtrare le varie risorse dell'archetipo. Ho specificato questi con i valori predefiniti nell'archetype-metadata.xml, ad es.Richiedere le proprietà di archetipo di Maven con valori predefiniti

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

Tuttavia quando provo a creare un progetto con l'archetipo, che non mi permette di cambiare queste in modo interattivo. Ad esempio, esso richiede la versione con predefinito come segue

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

permettendo una versione da inserire, ma inadempiente a 1.0-SNAPSHOT se non viene immesso. Per le mie proprietà personalizzate, si è limitata li visualizza prima di creare il nuovo progetto

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

Se Tralascio il valore di default dall'archetipo-metadata.xml poi mi chiederà per un valore, ma non v'è alcun valore predefinito.

È possibile fornire un valore predefinito e viene comunque visualizzato?

risposta

0

L'ho inserito nella mailing list di Maven ma non ho ricevuto risposta. Per aggirare il problema, nel frattempo, le proprietà del sistema può essere utilizzato per eseguire l'override di loro nella riga di comando quando l'archetipo viene eseguito

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

si prega di guardare per un'ultima domanda per commettere le impostazioni. Nel mio caso c'è una domanda finale:

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

se entro n quindi tutte le proprietà saranno ri-chiedere interattiva con i miei valori di default da archetipo-metadata.xml.

Qui è la mia parte di console:

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: : 

qui devo entrare n per il dialogo interattivo con le impostazioni predefinite.

6

In breve, no, non è possibile. C'è un problema JIRA su questo. Se è un problema per te, puoi volerlo votare.

1

So che questo è ben lungi dall'essere ideale, ma se si fornisce il valore predefinito per tutti i requiredProperty (compresi groupId, artifactId, versione e pacchetto) sarete propted con il curriculum e poi inserendo n si raggiungere il vostro goal

-2

Hai provato a prendere il secondo carato dal finale requiredProperty?

Change </requiredProperty>> a </requiredProperty>

Sembra questione XML possibilmente valido.

Problemi correlati