1
我想寫一個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()); }
}
我不知道爲什麼所有的上述打印報表打印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