尝试通过 allure-jenkins-plugin 创建 allure 报告时出现 NullPointerException
NullPointerException when trying to create allure report by allure-jenkins-plugin
当我尝试通过 allure-jenkins-plugin 创建 allure 报告时出现这样的错误:
ERROR: Publisher ru.yandex.qatools.allure.jenkins.AllureReportPublisher aborted due to exception
java.io.IOException: java.lang.NullPointerException
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:50)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:25)
at hudson.FilePath.act(FilePath.java:991)
at hudson.FilePath.act(FilePath.java:969)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:267)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:146)
at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:764)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:724)
at hudson.model.Build$BuildExecution.post2(Build.java:185)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
at hudson.model.Run.execute(Run.java:1769)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: java.lang.NullPointerException
at ru.yandex.qatools.clay.internal.AetherUtils.getRepositoriesAsList(AetherUtils.java:183)
at ru.yandex.qatools.clay.Aether.<init>(Aether.java:60)
at ru.yandex.qatools.clay.Aether.aether(Aether.java:78)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.createAether(ReportGenerator.java:69)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:45)
... 14 more
xml-由 allure 创建的文件是有效的(我可能会使用相同的 xml 创建具有 maven 目标 "site" 的正确报告),所以问题一定出在 jenkins 插件中。
我安装了 maven 3.2.5,settings.xml 存在于 ~/.m2 目录中并且似乎是正确的。
出现这样的错误可能是什么原因?似乎它与 Maven 设置有某种联系。
问题出在 Maven settings.xml 文件中,在
<activeProfiles>
节。它包含配置文件,实际上并不存在。删除此配置文件解决了问题。
这可能是由于 :
- Allure 没有安装在 Jenkin 中。
步骤:
Go to Manage Jenkins >
Global Tool Configuration >
Allure Commandline >
Add Allure Commandline >
Uncheck "Install automatically"
从 maven repo 下载最新的 allure 命令行 - https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
解压文件并提供位置
安装目录:C:\allure-2.17.2 (I am using windows, jenkin)
当我尝试通过 allure-jenkins-plugin 创建 allure 报告时出现这样的错误:
ERROR: Publisher ru.yandex.qatools.allure.jenkins.AllureReportPublisher aborted due to exception
java.io.IOException: java.lang.NullPointerException
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:50)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:25)
at hudson.FilePath.act(FilePath.java:991)
at hudson.FilePath.act(FilePath.java:969)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:267)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:146)
at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:764)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:724)
at hudson.model.Build$BuildExecution.post2(Build.java:185)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
at hudson.model.Run.execute(Run.java:1769)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: java.lang.NullPointerException
at ru.yandex.qatools.clay.internal.AetherUtils.getRepositoriesAsList(AetherUtils.java:183)
at ru.yandex.qatools.clay.Aether.<init>(Aether.java:60)
at ru.yandex.qatools.clay.Aether.aether(Aether.java:78)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.createAether(ReportGenerator.java:69)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:45)
... 14 more
xml-由 allure 创建的文件是有效的(我可能会使用相同的 xml 创建具有 maven 目标 "site" 的正确报告),所以问题一定出在 jenkins 插件中。
我安装了 maven 3.2.5,settings.xml 存在于 ~/.m2 目录中并且似乎是正确的。
出现这样的错误可能是什么原因?似乎它与 Maven 设置有某种联系。
问题出在 Maven settings.xml 文件中,在
<activeProfiles>
节。它包含配置文件,实际上并不存在。删除此配置文件解决了问题。
这可能是由于 :
- Allure 没有安装在 Jenkin 中。
步骤:
Go to Manage Jenkins >
Global Tool Configuration >
Allure Commandline >
Add Allure Commandline >
Uncheck "Install automatically"
从 maven repo 下载最新的 allure 命令行 - https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
解压文件并提供位置
安装目录:C:\allure-2.17.2 (I am using windows, jenkin)