2017-11-07 4 views
0

かなり新しいintelliJ Mavenプロジェクトで実行するようにAllure 2を設定しています。エラーはAllure 2、Maven、Java 9、TestNGを使用して魅力レポートデータを生成できません

私のPOMのコピーが添付されています。それが魅力の報告書の作成に来るまで

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.intellihub.msats.automation</groupId> 
<artifactId>b2bresponder</artifactId> 
<version>1.0-SNAPSHOT</version> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <aspectj.version>1.8.10</aspectj.version> 
    <allure.version>1.5.0</allure.version> 
</properties> 


<dependencies> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.11</version> 
     <scope>test</scope> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>3.6.0</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/com.opencsv/opencsv --> 
    <dependency> 
     <groupId>com.opencsv</groupId> 
     <artifactId>opencsv</artifactId> 
     <version>3.3</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.9.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.9.1</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-testng --> 
    <dependency> 
     <groupId>io.qameta.allure</groupId> 
     <artifactId>allure-testng</artifactId> 
     <version>2.0-BETA16</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api --> 
    <dependency> 
     <groupId>javax.xml.bind</groupId> 
     <artifactId>jaxb-api</artifactId> 
     <version>2.3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-testng-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.9</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-report-plugin</artifactId> 
      <version>2.20.1</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.20</version> 
      <configuration> 
       <useSystemClassLoader>false</useSystemClassLoader> 
       <argLine> 
        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" 
       </argLine> 
       <properties> 
        <property> 
         <name>listener</name> 
         <value>ru.yandex.qatools.allure.testng.AllureTestListener</value> 
        </property> 
        <systemProperties> 
         <property> 
          <name>allure.results.directory</name> 
          <value>${project.build.directory}/allure-results</value> 
         </property> 
        </systemProperties> 
       </properties> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjweaver</artifactId> 
        <version>${aspectj.version}</version> 
       </dependency> 
       <dependency> 
        <groupId>javax.xml.bind</groupId> 
        <artifactId>jaxb-api</artifactId> 
        <version>2.3.0</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

<reporting> 
    <excludeDefaults>true</excludeDefaults> 
    <plugins> 
     <plugin> 
      <groupId>io.qameta.allure</groupId> 
      <artifactId>allure-maven</artifactId> 
      <version>2.9</version> 
     </plugin> 
    </plugins> 
</reporting> 

物事は素晴らしい行きます。私はNoClassDefFoundErrorを取得しています。

[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 154.871 s - in TestSuite 
[INFO] 
[INFO] Results: 
[INFO] 
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 
[INFO] 
[INFO] 
[INFO] --- maven-site-plugin:3.3:site (default-site) @ b2bresponder --- 
[INFO] configuring report plugin io.qameta.allure:allure-maven:2.9 
[WARNING] No project URL defined - decoration links will not be relativized! 
[INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin. 
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version. 
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version. 
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version. 
[INFO] Generating "Allure" report --- allure-maven:2.9 
[INFO] Allure installation directory C:\Users\Documents\SELENIUM\projects\b2bresponder/.allure 
[INFO] Try to finding out allure 2.0.1 
[INFO] Generate Allure report (aggregate) with version 2.0.1 
[INFO] Generate Allure report to C:\Users\Documents\SELENIUM\projects\b2bresponder\target\site/allure-maven-plugin 
[INFO] Found results directory C:\Users\Documents\SELENIUM\projects\b2bresponder\target\allure-results 
[INFO] Can't find information about categories. 
[INFO] Generate report to C:\Users\Documents\SELENIUM\projects\b2bresponder\target\site\allure-maven-plugin 
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:139) 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:126) 
    at io.qameta.allure.context.JacksonContext.<init>(JacksonContext.java:24) 
    at io.qameta.allure.ConfigurationBuilder.useDefault(ConfigurationBuilder.java:50) 
    at io.qameta.allure.Commands.createReportConfiguration(Commands.java:158) 
    at io.qameta.allure.Commands.generate(Commands.java:63) 
    at io.qameta.allure.CommandLine.run(CommandLine.java:129) 
    at java.base/java.util.Optional.orElseGet(Optional.java:361) 
    at io.qameta.allure.CommandLine.main(CommandLine.java:72) 
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement 
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) 
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185) 
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) 
    ... 9 more 
[ERROR] Can't generate allure report data 
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) 
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404) 
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) 
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153) 
    at io.qameta.allure.maven.AllureCommandline.execute(AllureCommandline.java:88) 
    at io.qameta.allure.maven.AllureCommandline.generateReport(AllureCommandline.java:59) 
    at io.qameta.allure.maven.AllureGenerateMojo.generateReport(AllureGenerateMojo.java:213) 
    at io.qameta.allure.maven.AllureGenerateMojo.executeReport(AllureGenerateMojo.java:137) 
    at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:255) 
    at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:219) 
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:319) 
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:135) 
    at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175) 
    at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 02:47 min 
[INFO] Finished at: 2017-11-07T14:55:02+10:00 
[INFO] Final Memory: 32M/107M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project b2bresponder: Error during page generation: Error rendering Maven report: Could not generate the report: Can't generate allure report data: Process exited with an error: 1 (Exit value: 1) -> 
[Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

私が最初にAllure 2を統合したときにこの問題が発生しましたが、これはjaxb-apiの依存関係を追加することで解決しました。

今、私は魅力のレポートを生成するには、同じエラーが発生しています。

アイデア?

答えて

0

JAXBの問題は、2.4.1バージョンでfixedである必要があります。 私が提供pom.xmlでいくつかの問題を見るようにしかし、それは、あなたのケースでは、単一の問題ではないのです。

  • 2つの異なるアリュールTestNGのアダプターのバージョンの混乱があります。
  • プラグインのセクションにレポートバージョンが指定されていません。
  • 誤ったレポート生成コマンドが使用されます。詳細については、公式allure-mavenページを確認してください。
+1

Sergeyさん、ありがとうございました。私は今、正しいレポート生成コマンドで作業しています。私のPOMの他の問題を指摘してくれてありがとう。私は専門家ではなく、前のコマンドと魅力のウェブサイトのヘルプに基づいて何かを一緒に束ねようとしていました。最後にそこにいた。 –

関連する問題