tomcat - Jenkins 在运行 Maven 时出现权限被拒绝的错误

标签 tomcat maven-2 jenkins redhat selenium-webdriver

我在 redhat linux 机器上运行 Jenkins。我的构建是一个包含 selenium 测试的 maven 2.2.1 项目。我在 ubuntu 机器上进行了相同的设置,工作正常,但是当我尝试在我的 redhat VM 上调用相同的顶级 maven 命令时,出现以下错误。

org.apache.maven.surefire.booter.SurefireExecutionException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is 
org.apache.maven.surefire.report.ReporterException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied)
org.apache.maven.surefire.report.ReporterException: Unable to create file for report: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied); nested exception is        
java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied)
java.io.FileNotFoundException: /var/lib/jenkins/jobs/selenium/workspace/target/surefire-reports/com.MyComp.bio.PreferencesTest.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
at java.io.FileWriter.<init>(FileWriter.java:90)
at org.apache.maven.surefire.report.AbstractFileReporter.testSetStarting(AbstractFileReporter.java:57)
at org.apache.maven.surefire.report.ReporterManager.testSetStarting(ReporterManager.java:219)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

为了解决这个问题,我重启了 Jenkins

sudo service jenkins restart

但它仍然存在。有人遇到过这个吗?

最佳答案

使用ls -al 显示文件的权限。

参见 this link获取更多信息。

阅读服务启动脚本以检查运行 Jenkins 的用户名。

less/etc/init.d/jenkins

您可能已将 jenkins 手动安装到 Java EE 容器(例如 tomcat6)中。 如果是这种情况,您应该使用:

less/etc/init.d/tomcat6

关于tomcat - Jenkins 在运行 Maven 时出现权限被拒绝的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12095016/

相关文章:

java - Jenkins 中的 SVN 连接问题

java - 是否有用于读取 maven2/3 pom xml 文件的库?

maven-2 - 配置 Maven 在项目目录外生成输出

java - Jenkins - 选择测试

java - 为什么 .settings 文件丢失

java - Maven 项目的原型(prototype)

java - Tomcat JDBC 连接池问题 : "Statement is closed"

java - 带有 java -jar 和 Tomcat 8 的 spring boot getVirtualServerName。STS 运行良好

java - 在 tomcat 上安装 newrelic 代理进行故障排除

tomcat - 使用 Maven3 Eclipse 7 Tomcat 7 出现 404 错误的 WebServlet