簡體   English   中英

如何按照順序從POM接受鍵值對-Maven

[英]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的Propertiesreplacements ,我認為該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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM