各ビルドセッションの期間を計算するためにmaven拡張を書き込もうとしています。ここに私の拡張機能である:session.getCurrentProject()がnullを返す - Mavenの拡張子
@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;
@Component(role = AbstractMavenLifecycleParticipant.class)
public class BuildTimeLogger extends AbstractMavenLifecycleParticipant {
public void afterSessionStart(MavenSession session) throws MavenExecutionException {
System.out.println("${project}: "+project);
System.out.println("Top level project:"+session.getTopLevelProject());
System.out.println("session.getcurrentproject():"+session.getCurrentProject()); }
}
上記のすべてのprint文はnull
を印刷し、なぜ私はわかりません。セッションオブジェクトを正しく使用していますか?私の理解は、Mavenがビルドされているプロジェクトのすべてのセッションの詳細を送信することになっているということです。私は別のプロジェクトでこれを試しましたが、私にとってはうまくいかないようです。
ここで何が間違っているのかわかりませんが、[this](https://issues.apache.org/jira/browse/MNG-4639?focusedCommentId = 14421259&page = com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14421259) –
https://github.com/khmarbaise/maven-buildtime-profilerについては、LifeCycleParticipantは解決する最良の方法ではありませんこれにより、EventSpyがより良いアプローチになっています...さらに、LifeCycleParticipantはMaven 3.2.5以上で正しく動作します... – khmarbaise