[英]How to accept key-value pairs in order from POM - Maven
我需要從我的POM接受一組鍵-值對,並在Mojo中使用它們。 我想保持用戶給定的輸入順序。 我的POM現在看起來如下:
<plugin>
<groupId>...</groupId>
<artifactId>text-replace-plugin</artifactId>
<version>...</version>
<executions>
<execution>
...
<configuration>
<replacements>
<property>
<name>ABCD</name>
<value>XYZ</value>
</property>
<property>
<name>XYZ</name>
<value>PQR</value>
</property>
</replacements>
...
</configuration>
</execution>
</executions>
</plugin>
我接受Mojo內部作為Java.util的Properties
的replacements
,我認為該replacements
實現了Maps,因此沒有排序。
我試過使用LinkedHashMap而不是Properties,但是mojo似乎不理解它。
我也嘗試采用以下參數,但是不起作用:
@Parameter(property = "replacer.replacements", required = true)
private List replacements;
@Parameter(property = "replacer.replacements.property")
private Map eachPair;
這給我一個錯誤:加載類'com.training.replacer.Property'時出錯
您能否建議我一種從POM.xml中實現有序鍵值對輸入的方法? 謝謝!
我放棄了使用Java的Properties,並用mojo- List<myClass>
的列表變量轉換了POM的外部replacements
參數。 我通過為鍵,值對創建自己的類並在POM.xml中提供源包名稱來實現這一點。 我只需要保持數據成員的名稱與POM的屬性名稱相同,Maven就會填充對象的數據成員。
請參閱-https: //maven.apache.org/guides/mini/guide-configuring-plugins.html#Mapping_Complex_Objects
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.