运行 allure 命令行生成命令时出错

Error while running allure command line generate command

我刚刚完成了我的 allure 框架 .. 但是在使用命令行生成 HTML 报告时出现以下错误

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:348) 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:533) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:186) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:476) ... 9 more

我使用的命令 -

allure generate --report-dir directory-with-results --clean
java --version
java 9-ea
Java(TM) SE Runtime Environment (build 9-ea+162)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+162, mixed mode)
allure --version
2.0.0
rspec -v
RSpec 3.6

所以没有解决方案,但根据@Nicolai,我降级到 JAVA 8 并解决了问题。

关于我如何按照提到的这些简单步骤进行降级 here

无需降级 java,至少在 Linux 上有更简单的解决方案。 所以在我的例子中,我有 java 8 和 java 9。默认情况下使用 java 9。

如果魅力需要java 8,我就运行这样:

$ JAVA_HOME=/usr/lib/jvm/java-8-oracle allure generate

这会暂时将 java 版本从 9 切换到 8,仅用于此命令。

有非常简单的方法可以通过 allure 生成报告。 首先安装诱惑。 魅力-pytest 2.6.0 魅力-python-公地 2.6.0

如果您无法生成报告,请按照以下步骤操作。 步骤-1(使用pytest) pytest test_parameterDemo.py --alluredir=要保存报告的路径。

步数-2 诱惑服务 report_path

如果它仍然显示魅力不是命令 (blah -blah)

然后使用以下命令使用 npm 插件安装 allure npm install -g allure-commandline --save-dev

然后再次执行第 2 步,然后将启动一台服务器,您可以看到诱惑报告。