Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JDK更改为11后更新构建诱惑报告的依赖项_Java_Maven_Testng_Allure - Fatal编程技术网

Java 将JDK更改为11后更新构建诱惑报告的依赖项

Java 将JDK更改为11后更新构建诱惑报告的依赖项,java,maven,testng,allure,Java,Maven,Testng,Allure,我有一个使用Maven+TestNG+Allure的测试项目,它是在使用OracleJDK时创建的:1.8(java版本“1.8.0_201”)在那里运行测试和生成报告都很好。过了一段时间,我尝试在使用较新OpenJDK:11.0.4(java版本“11.0.4”)的其他PC上设置此项目 我通过添加JAXB依赖项修复了正在运行的测试: <dependency> <groupId>javax.xml.bind</groupId>

我有一个使用Maven+TestNG+Allure的测试项目,它是在使用OracleJDK时创建的:
1.8(java版本“1.8.0_201”)
在那里运行测试和生成报告都很好。过了一段时间,我尝试在使用较新OpenJDK:
11.0.4(java版本“11.0.4”)
的其他PC上设置此项目

我通过添加JAXB依赖项修复了正在运行的测试:

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.1</version>
    </dependency>

javax.xml.bind
jaxb api
2.3.1
org.glassfish.jaxb
jaxb运行时
2.3.1
但在试运行后尝试生成诱惑报告时仍然遇到问题 我发现了一个错误:

Generating report to temp directory...
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.Commands.serve(Commands.java:88)
        at io.qameta.allure.CommandLine.run(CommandLine.java:136)
        at java.base/java.util.Optional.orElseGet(Optional.java:369)
        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:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 10 more
[ERROR] Can't generate allure report data
正在生成到临时目录的报告。。。
线程“main”java.lang.NoClassDefFoundError中出现异常:javax/xml/bind/annotation/XmlElement
位于com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector(JaxbAnnotationIntrospector.java:139)
位于com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector(JaxbAnnotationIntrospector.java:126)
位于io.qameta.allure.context.JacksonContext.(JacksonContext.java:24)
在io.qameta.allure.ConfigurationBuilder.useDefault(ConfigurationBuilder.java:50)中
位于io.qameta.allure.Commands.createReportConfiguration(Commands.java:158)
位于io.qameta.allure.Commands.generate(Commands.java:63)
at io.qameta.allure.Commands.service(Commands.java:88)
运行(CommandLine.java:136)
位于java.base/java.util.Optional.orElseGet(Optional.java:369)
位于io.qameta.allure.CommandLine.main(CommandLine.java:72)
原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlElement
位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 10多
[错误]无法生成诱惑报告数据
对它的搜索表明,JAXB中的问题看起来仍然像是在Java11中被弃用的,有什么信息可以准确地为allure report修复这个问题吗?我相信在我的pom.xml文件中有这样的问题:

<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.edx.tests</groupId>
    <artifactId>FinalProject</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <browser>chrome</browser>
        <browser>firefox</browser>
        <aspectj.version>1.9.4</aspectj.version>
        <allure.version>2.9.0</allure.version>
        <allure.maven.plugin>2.9</allure.maven.plugin>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-testng</artifactId>
            <version>${allure.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.3.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <systemPropertyVariables>
                        <browser>${browser}</browser>
                        <allure.results.directory>target/allure-results</allure.results.directory>
                        <allure.link.issue.pattern>https://example.org/issue/{}</allure.link.issue.pattern>
                        <allure.link.tms.pattern>https://example.org/tms/{}</allure.link.tms.pattern>
                    </systemPropertyVariables>
                    <argLine>
                        -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
                    </argLine>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>${allure.maven.plugin}</version>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <!--<excludeDefaults>true</excludeDefaults>-->
        <plugins>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>${allure.maven.plugin}</version>
                <configuration>
                    <reportVersion>2.4.1</reportVersion>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
</project>

4.0.0
com.edx.tests
最终项目
1.0-快照
铬
火狐
1.9.4
2.9.0
2.9
org.seleniumhq.selenium
硒爪哇
3.141.59
io.github.bonigarcia
webdrivermanager
3.6.0
org.testng
testng
6.14.3
org.aspectj
aspectjweaver
${aspectj.version}
io.qameta.allure
诱惑测试
${allure.version}
javax.xml.bind
jaxb api
2.3.1
org.glassfish.jaxb
jaxb运行时
2.3.1
org.apache.maven.plugins
maven surefire插件
2.22.2
src/main/resources/testng.xml
${browser}
目标/诱惑结果
https://example.org/issue/{}
https://example.org/tms/{}
-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
真的
org.apache.maven.plugins
maven编译器插件
8.
8.
io.qameta.allure
诱惑马文
${allure.maven.plugin}
io.qameta.allure
诱惑马文
${allure.maven.plugin}
2.4.1
这里还应该更新哪些内容来修复该错误