ExtentReports模板加载异常求助:缺失exceptıon.ftl文件
从错误提示看,找不到的是spark/partials/exceptıon.ftl——注意这里的ı是土耳其语小写i,而非标准英文的i,这是核心问题:系统在解析模板文件名时,因字符编码或本地化设置,将正确的exception.ftl转换成了带特殊字符的版本,或是依赖包内资源文件存在命名异常。
以下是可行的解决步骤:
清理并重新拉取依赖
手动删除本地Maven仓库中ExtentReports的相关目录(路径一般为~/.m2/repository/com/aventstack/extentreports),然后在项目根目录执行mvn clean install -U,强制重新下载完整依赖包,避免本地缓存的依赖文件损坏或文件名异常。强制设置JVM英文区域
在IntelliJ的Run/Debug Configurations里找到你的测试配置,在VM options中填入:-Duser.language=en -Duser.country=US强制JVM使用英文区域设置,防止系统本地化将文件名中的
i转换为土耳其语的ı。检查依赖配置正确性
确认pom.xml中已正确引入spark reporter依赖,5.1.1版本的完整依赖配置应为:<dependency> <groupId>com.aventstack</groupId> <artifactId>extentreports</artifactId> <version>5.1.1</version> </dependency> <dependency> <groupId>com.aventstack</groupId> <artifactId>extentreports-spark</artifactId> <version>5.1.1</version> </dependency>手动补充正确模板文件
如果上述步骤无效,从ExtentReports 5.1.1版本的官方源码中获取正确的exception.ftl文件,将其放到项目的src/main/resources/spark/partials/目录下,覆盖或补充缺失的模板文件。尝试切换版本
若5.1.1版本存在该特定问题,可尝试降级到5.1.0或升级至5.2.0等稳定版本,验证问题是否消失。
内容的提问来源于stack exchange,提问作者testuser25

