簡體   English   中英

限制Java maven插件配置參數

[英]Restricting Java maven plugin configuration parameters

我正在編寫一個帶有許多可配置參數的maven插件。 Mojo類中指定了許多參數。 其中一個參數是必需的,必須包含某些值(比如'Atwood'或'Spolsky')。 目前它注釋了一個。 @required字段如下所示:

public class GenerateMojo extends AbstractMojo{
   ...
   ...

   /**
   *@parameter
   *@required
   */
   private String someParameter;
   ...
   ...
}

這一切都很好,但如果有人忘記包含參數,他們會得到一般的錯誤消息,如下所示:

Inside the definition for plugin 'xyz' specify the following:
<configuration>    
    ...   
    <someParameter>VALUE</someParameter>
</configuration>

如果可以(1)限制可以輸入someParmeter字段的值以提供更好的錯誤消息,或者(2)自己指定錯誤消息,以便我可以編寫類似“someParameter'需要的值”是'阿特伍德'還是'斯波爾斯基'?

謝謝

有一個開放的Jira可以在Maven 2.2中添加對參數值枚舉的支持(Java 5上的Plexus已經支持它)。

您可以指定默認值,這樣至少Mojo在初始化時不會失敗。 然后,您可以在execute()方法中驗證參數的值,並輸出更有用的消息。

如果沒有合理的默認值,則可以將默認值設置為在execute()方法中無效的值,這實際上意味着用戶必須定義​​它,並且它們會收到有意義的錯誤消息。 例如:

/**
 * @parameter expression="${someParameter}" default-value="_"
 */
private String someParameter;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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