面向org.apache.maven.surefire.booter.SurefireBooterForkException:创建用于分叉的属性文件时出错 我无法在Jenkins中执行硒脚本。
我正在使用Maven项目。操作系统是Ubuntu。
面向org.apache.maven.surefire.booter.SurefireBooterForkException:创建用于分叉的属性文件时出错
有人可以帮助我如何在Jenkins中执行Selenium脚本吗?
我在下面附加了詹金斯的输出。
Java版本:1.8_222
我的pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ExpertusONE_4.5</groupId>
<artifactId>ExpertusONE_4.5</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ExpertusONE_4.5</name>
<description>ExpertusONE_4.5</description>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M4</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
<suiteXmlFiles>
<suiteXmlFile>/home/nivedab/Documents/JenkinsExecution/ExpertusONE_4.5/Learning_Suite.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<java.version>1.8.0_222</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
詹金斯的输出如下:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到org.apache.maven.surefire.booter.SurefireBooterForkException: 创建用于分叉的属性文件时出错
这个错误,通常意味着Maven Surefire插件在尝试为测试执行创建临时配置文件时遇到了问题。这可能是由于权限、路径问题或配置不当导致的。以下是一些可能的解决方案:
检查Jenkins用户权限:确保Jenkins运行的用户(通常是jenkins
)对工作空间目录有读写权限。你可以通过SSH到服务器上,尝试以Jenkins用户身份手动创建和删除文件来验证权限。
清理工作空间:有时候旧的构建工件或配置文件可能导致冲突。在Jenkins中,可以尝试清理工作空间或者删除整个构建目录后重新构建。
更新Surefire和Failsafe插件版本:你使用的Surefire和Failsafe插件版本是较老的(3.0.0-M4),可能存在已知的问题。尝试更新这两个插件到最新稳定版。可以在你的pom.xml
中修改这些插件的版本号,然后重新构建项目。
指定系统属性:在maven-surefire-plugin
配置中尝试显式设置系统属性来控制临时文件的生成,例如指定一个确定的临时目录,并确保该目录可写。
查看日志详细信息:增加Maven的日志级别,以便获取更详细的错误信息。这可以通过在Jenkins任务的构建命令中添加-X
参数实现,如clean test -X
。
检查磁盘空间:确认服务器上的磁盘空间是否足够。不足的磁盘空间也可能导致文件创建失败。
依赖冲突:检查是否有其他插件或依赖与Surefire插件存在潜在的冲突,有时移除或更新这些依赖可以解决问题。
环境变量和Java版本:虽然你已经提供了Java版本信息,但确保Jenkins中的配置正确指定了相同的Java版本,并且所有环境变量(如PATH)都设置得当。
如果以上步骤不能解决问题,建议查看Jenkins的完整输出日志,寻找更具体的错误信息或异常堆栈,这将有助于进一步诊断问题所在。