Если вы хотите добавить цитату в начало и конец, попробуйте
=""""&E2&""""
Я думаю, что Вы могли бы получить то, в чем Вы нуждаетесь, если Вы используете тег @aggregator и связываете Ваше заклинание с одной из следующих фаз жизненного цикла:
Лучшее решение, которое я нашел для этого:
/**
* The projects in the reactor.
*
* @parameter expression="${reactorProjects}"
* @readonly
*/
private List reactorProjects;
public void execute() throws MojoExecutionException {
// only execute this mojo once, on the very last project in the reactor
final int size = reactorProjects.size();
MavenProject lastProject = (MavenProject) reactorProjects.get(size - 1);
if (lastProject != getProject()) {
return;
}
// do work
...
}
Это, кажется, работает над маленькими иерархиями сборки, с которыми я протестировал.
Обычно, это - вопрос конфигурации. Вам, возможно, придется установить проект только для заклинания и сделать его зависящим от всех других проектов. Или Вы могли вызвать один из дочерних проектов быть последними путем создания этого зависящим от всех других детей.
В блоге Sonatype описано, как это сделать. Последний запускаемый проект будет корневым, поскольку он будет содержать ссылки на остальные модули. Поэтому вам нужен тест в вашем mojo, чтобы проверить, совпадает ли каталог текущего проекта с каталогом, из которого был запущен Maven:
boolean result = mavenSession.getExecutionRootDirectory().equalsIgnoreCase(basedir.toString());
В указанной записи есть довольно подробный пример того, как использовать это в вашем mojo.