title: Extentreport support for Cucumber-JVM 4.0 (io.cucumber)
body: <p>I am trying to migrate my Cucumber automation project from cucumber (info.cukes ) to cucumber (io.cucumber)</p>
  
  <p>During this process, i having trouble with migrating extend reports. Could you please help me with what I am missing? </p>
  
  <p><strong>dependency:</strong></p>
  
  <pre><code>    &lt;dependency&gt;
              &lt;groupId&gt;junit&lt;/groupId&gt;
              &lt;artifactId&gt;junit&lt;/artifactId&gt;
              &lt;version&gt;3.8.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-java&lt;/artifactId&gt;
              &lt;version&gt;4.2.6&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-junit&lt;/artifactId&gt;
              &lt;version&gt;4.2.6&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-core&lt;/artifactId&gt;
              &lt;version&gt;4.2.6&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-html --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-html&lt;/artifactId&gt;
              &lt;version&gt;0.2.7&lt;/version&gt;
          &lt;/dependency&gt;
  &lt;dependency&gt;
              &lt;groupId&gt;org.freemarker&lt;/groupId&gt;
              &lt;artifactId&gt;freemarker&lt;/artifactId&gt;
              &lt;version&gt;2.3.26-incubating&lt;/version&gt;
          &lt;/dependency&gt;
  
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.vimalselvam&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-extentsreport&lt;/artifactId&gt;
              &lt;version&gt;3.0.2&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- https://mvnrepository.com/artifact/com.aventstack/extentreports --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.aventstack&lt;/groupId&gt;
              &lt;artifactId&gt;extentreports&lt;/artifactId&gt;
              &lt;version&gt;4.0.9&lt;/version&gt;
          &lt;/dependency&gt;
  </code></pre>
  
  <p><strong>Runner class:</strong></p>
  
  <pre><code>package CucumberWithAfterStep.AfterStepPOC;
  import java.io.File;
  import org.junit.AfterClass;
  import org.junit.runner.RunWith;
  import com.cucumber.listener.Reporter;
  import cucumber.api.CucumberOptions;
  import cucumber.api.junit.Cucumber;
  
  @RunWith(Cucumber.class)
  @CucumberOptions(features = "src/test/resources/features", glue = { "testSteps" }, plugin = { "pretty",
                                  "html:target/cucumber", "json:target/cucumber.json" , "com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html" },
                                  monochrome = true, 
                                  tags = {"@WAC003 "}, dryRun = false)
  
  public class MainRunnerTest {
  
   @AfterClass
   public static void writeExtentReport() {
       Reporter.loadXMLConfig(new File(FileReaderManager.getInstance().getConfigReader().getReportConfigPath()));
      }
   }
  </code></pre>
  
  <p>Error:</p>
  
  <blockquote>
  <pre><code>cucumber.runtime.CucumberException: Couldn't load plugin class: com.cucumber.listener.ExtentCucumberFormatter. It does not implement
  </code></pre>
    
    <p>cucumber.api.Plugin
          at cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:176)
          at cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:163)
          at cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:220)
          at cucumber.runtime.formatter.PluginFactory.isStepDefinitionReporterName(PluginFactory.java:203)
          at cucumber.runtime.RuntimeOptions$ParsedPluginData.addPluginName(RuntimeOptions.java:386)
          at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:165)
          at cucumber.runtime.RuntimeOptions.(RuntimeOptions.java:108)</p>
  </blockquote>