【问题标题】:How to solve access denial for JUnit test reports with Maven in Jenkins?如何在 Jenkins 中使用 Maven 解决 JUnit 测试报告的访问拒绝问题?
【发布时间】:2015-10-15 05:38:35
【问题描述】:

我正在尝试使用 Maven 配置 Jenkins,因此感谢 Jenkins,我可以发布我的测试报告。

我没有使用任何源代码管理,我的Maven版本是3.3.3,我给出的目标是“测试”。

由于 Maven 项目似乎不允许在不使用模块的情况下发布 JUnit 测试报告,因此我尝试使用 freestyle 项目构建它。

当我使用 Eclipse 在本地运行它时,我的 Maven 项目很好。但是,当我尝试使用 Jenkins 构建它时,我遇到了以下问题:

[错误] 无法在项目测试中执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile):存储 mojo 状态时出错:/home/kamiel7/ProjetCA_2015/ Manipulation/ManipJava/test/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst(拒绝访问)-> [帮助1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。

[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。

[错误]

[ERROR] 有关错误和可能的解决方案的更多信息,请阅读以下文章:

[错误] [帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我不知道该怎么做才能摆脱这种拒绝访问。我确保我启用了 maven-surefire-plugin,我试图查看此错误是否与 sudoers 文件有链接。但是,我仍然是编程的初学者,所以我没有太多的想法来解决这个问题。

你愿意帮我吗?

非常感谢。

【问题讨论】:

  • 这并不是你的问题的原因(它发生在编译时,甚至在测试开始之前):“发布我的测试报告”到底是什么意思?您想在哪里发布它们?
  • test/targetinputFiles.lst 的所有者和组是谁,他们的文件权限是什么?
  • 当我说“发布我的测试报告”时,我的意思是在配置 Jenkins 项目时可以选择一个选项。我还想在我的工作区发布我的测试报告。
  • 我可能发现了问题所在。原来我的“目标”目录可以读取、写入或执行。但是我的 inputFiles.lst 文件无法执行。我想我必须使用 chmod 来改变它,对吧?
  • 我发现我的 inputFiles.lst 文件无法执行。所以我尝试以普通用户的身份使用 chmod 来更改它(因为该文件属于普通用户 kamiel7)。然而,虽然我的文件现在可以执行,但当我在 Jenkins 上运行构建时没有任何变化。我错过了哪一步?

标签: maven jenkins junit


【解决方案1】:

在这里为未来的读者提供迟到的答案。

我遇到这个问题一段时间,然后发现我有一个外部控制台(MINGW64)在后台徘徊。

我关闭该控制台后,问题就消失了。因此,请检查您是否打开了任何可能获取某些目录或文件的后台进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2018-03-04
    相关资源
    最近更新 更多