所以我有一个自定义maven插件,它有一些我用作全局变量的参数。像这样:
/**
* Parameter used keep the name of a file
* @parameter expression="${filename}" @require
*/
String filename;
注意:这是确切的语法。我非常肯定我的研究是正确的。
当然,如果这是一个普通的Java程序,并且您要在上面的行之后打印String filename
,那么您将收到错误,因为它未初始化。它没有价值。
根据我从maven插件角度的理解,当您放置@parameter
和@expression
时,pom.xml
标签下该插件的<filename>
设置中的任何值现在设置为Java程序(或maven插件)中的对象filename
。
所以我的问题是先来的? maven是否在Java插件中设置参数,还是先调用execute()
方法?
原因是,我需要在filename
方法中使用execute()
字符串。
我希望我解释得那么好。
答案 0 :(得分:3)
使用execute
方法中的属性是完全安全的。这个属性已经被初始化了,这就是重点。