Ich versuche zu übergeben Karte Art von Parametern zu meinem Maven-Plugin über die Befehlszeile. Hier ist, wie ich versuchte,nicht in der Lage, Art der Variablen zu Maven Ziel durch die Befehlszeile übergeben
$mvn -U -X sample.plugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi -Dsayhi.myMap=key1=value1
$mvn -U -X sample.plugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi -Dsayhi.myMap={key1=value1}
Keine von diesen arbeiten und folgende Störung zu erhalten:
Caused by: org.codehaus.plexus.component.configurator.ComponentConfigurationException: Cannot assign configuration entry 'myMap' with value '${sayhi.myMap}' of type java.lang.String to property of type java.util.Map**
Hier ist meine Parameter in Mojo:
/**
* My Map.
*/
@Parameter(property = "sayhi.myMap", required = false)
private Map<String,String> myMap = new HashMap<String, String>();
gefolgt Anweisungen an ==>https://maven.apache.org/guides/mini/guide-configuring-plugins.html#Mapping_Collections, aber kein Glück., Ich denke, ich vermisse etwas sehr kleines. bin auf Maven v3.2.1
dank
Ich habe versucht, alle anderen wie Array, List und Set-Parameter. Alle arbeiten über die Befehlszeile. nur mit Karte getroffen. –
Warum möchten Sie solche Informationen über die Befehlszeile geben? Wozu dient das Plugin? – khmarbaise
wir möchten Maven-Plugin über die Befehlszeile (über Java-Code) ausführen, so dass wir Konfigurationsparameter übergeben müssen. Das ist unser In-House-Plugin. –