2012-02-28 49 views
0

我在設置Maven插件中複雜對象的默認值時遇到了問題。在mvn插件中創建複雜對象

如果我有一個叫MyObject的類,我想新的它在默認情況下,所以我願做這樣的事情在我的魔:

/** 
* Value class that wraps all report configuration. 
* 
* @parameter default-value="new MyCLass()" 
*/ 
private MyClass classObject; 

現在,這是無效的,這不是」在默認情況下創建MyClass的一個新實例(它會編譯,但在嘗試使用該插件時出現錯誤)。如果它是null,我可以將一些東西放入我的mojo中,如果它是null,那麼classObject會出現消息,但我更願意使用@parameter註釋自動執行此操作。

這可能嗎?

回答

3

找到了答案,其實很簡單(我踢自己的,現在早沒有意識到這一點):

/** 
* Value class that wraps all report configuration. 
* 
* @parameter default-value="${classObject}" 
*/ 
private MyClass classObject; 

只需使用maven魔術變量來設置自己的實例,它的新聞起來爲你。

1

我不認爲Maven會允許你通過調用構造函數來設置默認值。所以最有可能的是,你必須自己檢查對象是否爲null。

我只能在mapping objects上找到此信息。檢查一下,它可能是有用的。

+0

我已經經歷過這種情況,兩種方式似乎都沒有明確的答案。我試圖找到一個明確的答案,不管你是否可以使用默認屬性來創建一個複雜的對象。目前我們正在檢查該對象是否爲空,如果它是我們新建的,但它感覺很髒 – Ardesco 2012-02-28 15:47:20