在maven插件中新建一个复杂的对象

时间:2012-02-28 15:07:32

标签: java maven maven-plugin

我在maven插件中为复杂对象设置默认值时遇到了问题。

如果我有一个名为MyObject的类,我想默认新建它,所以我想在我的Mojo中做这样的事情:

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

现在这是无效的,它默认情况下不会创建MyClass的新实例(它编译,但在尝试使用插件时出错)。我可以把一些东西放到我的mojo中,如果它是null,那么我会更喜欢使用@parameter注释自动执行它。

这可能吗?

2 个答案:

答案 0 :(得分:3)

找到了答案,实际上非常简单(我现在因为没有及早意识到这一点而踢我自己):

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

只需使用maven magic变量设置自己的实例,然后就会为它进行新闻。

答案 1 :(得分:1)

我不认为Maven会允许你通过调用构造函数来设置默认值。所以很可能,你必须自己检查对象是否为空。

我只能在mapping objects上找到这些信息。看看,它可能有用。