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

时间:2017-05-12 12:07:37

标签: java ruby rspec allure java-9

我刚刚完成了我的诱惑框架..但是在使用命令行生成HTML报告时,我得到了以下错误

namespace CodeDomSubProducer
{
    interface ICodeDomSubProducer
    {
        // Methods
        void Initialize(CodeDomBaseProducer baseProducer, SubProducer subProducer, IDictionary context);
        void Produce(IDictionary context, CodeCompileUnit unit);
        void Terminate(IDictionary context);
    }
}

我使用的命令 -

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

3 个答案:

答案 0 :(得分:1)

没有必要降级java,这是一个更简单的解决方案,至少在Linux上是这样。 所以在我的例子中我有java 8和java 9.默认使用java 9。

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

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

这只是暂时将java版本从9切换到8。

答案 1 :(得分:0)

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

关于我如何降级,请按照here

提到的这些简单步骤进行操作

答案 2 :(得分:0)

有一种非常简单的方法可以通过吸引力生成报告。 首先安装诱惑。 诱惑-pytest 2.6.0 allure-python-commons 2.6.0

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

步骤-2 吸引人report_path

如果仍然显示出诱惑力,则不是命令(blah -blah)

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

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