Maven-Surefire-Report-Plugin 2.8 Ошибка: org.apache.maven.doxia.siterenderer.sink.siterenderersink.unknown

StackOverflow https://stackoverflow.com/questions/5339373

Вопрос

Мой проект начал терпеть неудачу во время исполнения mvn site:site С тех пор, как я обновил Maven-Surefire-Report-Plugin для версии 2.8, которая была просто выпущен около недели назад.

Вот исключение:

[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] org.apache.maven.doxia.siterenderer.sink.SiteRendererSink.unknown(Ljava/lang/String;[Ljava/lang/Object;Lorg/apache/maven/doxia/sink/SinkEventAttributes;)V
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.AbstractMethodError: org.apache.maven.doxia.siterenderer.sink.SiteRendererSink.unknown(Ljava/lang/String;[Ljava/lang/Object;Lorg/apache/maven/doxia/sink/SinkEventAttributes;)V
    at org.apache.maven.plugins.surefire.report.SurefireReportGenerator.doGenerateReport(SurefireReportGenerator.java:76)
    at org.apache.maven.plugins.surefire.report.SurefireReportMojo.executeReport(SurefireReportMojo.java:200)
    at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190)
    at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at hudson.maven.agent.ComponentInterceptor.invoke(ComponentInterceptor.java:47)
    at hudson.maven.agent.PluginManagerInterceptor$3.invoke(PluginManagerInterceptor.java:229)
    at $Proxy7.generate(Unknown Source)
    at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:139)
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:269)
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:101)
    at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:133)
    at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:100)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
    at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at hudson.maven.agent.Main.launch(Main.java:165)
    at hudson.maven.MavenBuilder.call(MavenBuilder.java:165)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:744)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:688)
    at hudson.remoting.UserRequest.perform(UserRequest.java:114)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

Вот соответствующий раздел моего файла POM:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-report-plugin</artifactId>
  <version>2.8/version>
  <configuration>
    <argLine>-Xmx512m</argLine>
  </configuration>
</plugin>

Переключение на версию 2.7.2 не приводит к ошибкам. Кто -нибудь знает об этом больше? Спасибо.

Это было полезно?

Решение

Из http://jira.codehaus.org/browse/surefire-714

Как можно увидеть из http://maven.apache.org/plugins/maven-surefire-report-plugin/

«Примечание. Начиная с версией 2.8 этот плагин требует, чтобы плагин Maven Site 2.1 или выше работал должным образом. Версия 2.7.2 и старше все еще совместимы с более новыми версиями Surefire, поэтому возможна смешивание».

Для всех практических целей вы можете оставаться на 2,7,2, сколько захотите, поскольку формат XML, используемый для обмена, будет оставаться в обратном порядке (более новые версии Surefire могут использовать более старые Surefire-Report-Plugins). Вы, конечно, пропустите ошибки в отчетах, если вы решите не обновлять отчеты-плугин/сайт.

Если в вашем POM нет, упомянуто Maven-Site-Plugin, он не втянет в последнюю версию. Добавить его, как указано в http://maven.apache.org/plugins/maven-site-plugin/plugin-info.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top