我在maven插件中为复杂对象设置默认值时遇到了问题。
如果我有一个名为MyObject的类,我想默认新建它,所以我想在我的Mojo中做这样的事情:
/**
* Value class that wraps all report configuration.
*
* @parameter default-value="new MyCLass()"
*/
private MyClass classObject;
现在这是无效的,它默认情况下不会创建MyClass的新实例(它编译,但在尝试使用插件时出错)。我可以把一些东西放到我的mojo中,如果它是null,那么我会更喜欢使用@parameter注释自动执行它。
这可能吗?
答案 0 :(得分:3)
找到了答案,实际上非常简单(我现在因为没有及早意识到这一点而踢我自己):
/**
* Value class that wraps all report configuration.
*
* @parameter default-value="${classObject}"
*/
private MyClass classObject;
只需使用maven magic变量设置自己的实例,然后就会为它进行新闻。
答案 1 :(得分:1)
我不认为Maven会允许你通过调用构造函数来设置默认值。所以很可能,你必须自己检查对象是否为空。
我只能在mapping objects上找到这些信息。看看,它可能有用。