1

所以我有一个自定义的 maven 插件,它有一些我用作全局变量的参数。像这样:

/**
 * Parameter used keep the name of a file
 * @parameter expression="${filename}" @require
 */
String filename;

注意:这是确切的语法。根据我的研究,我很确定这是正确的。

当然,如果这是一个普通的 Java 程序,并且您要String filename在上面的行之后打印,您会得到一个错误,因为它没有被初始化。它没有价值。

从我对 maven 插件的理解来看,当您放置@parameter和时,选项卡下该插件@expression的设置中的任何值现在都设置为Java 程序(或 maven 插件)中的对象。pom.xml<filename>filename

所以我的问题是哪个先出现?maven 是在 Java 插件中设置参数,还是execute()先调用方法?

原因是,我需要filename在方法中使用该字符串execute()。我希望我解释得很好。

4

1 回答 1

3

您可以完全安全地使用execute方法中的属性。那时属性已经初始化,这就是重点。

于 2013-04-19T13:43:48.933 回答