WebDriverManager 5.3.1执行setup()时报NoSuchMethodError错误求助
解决WebDriverManager与commons.io的NoSuchMethodError问题
错误原因
你遇到的java.lang.NoSuchMethodError是因为WebDriverManager 5.3.1依赖的commons.io版本与你当前使用的2.11.0不匹配,导致方法签名不一致。WebDriverManager 5.3.1默认依赖commons.io 2.12.0,该版本中IOUtils.toString(java.io.InputStream, java.nio.charset.Charset)的方法实现与2.11.0存在差异,或者类路径中存在多个commons.io版本引发加载冲突。
解决方案
统一commons.io版本为兼容版本
将commons.io的版本升级到WebDriverManager 5.3.1适配的2.12.0:- Maven项目修改pom.xml:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.12.0</version> </dependency> - Gradle项目修改build.gradle:
implementation 'commons-io:commons-io:2.12.0'
- Maven项目修改pom.xml:
排除冲突的commons.io依赖
检查项目中其他依赖是否引入了低版本的commons.io,通过排除依赖避免冲突。例如Maven中:<dependency> <!-- 替换为实际引入旧版commons.io的依赖 --> <groupId>com.example</groupId> <artifactId>some-dependency</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </exclusion> </exclusions> </dependency>升级WebDriverManager版本
考虑将WebDriverManager升级到更高的稳定版本(如5.x系列的最新版或6.x版本),新版本通常会优化依赖管理,减少此类兼容性问题。
内容的提问来源于stack exchange,提问作者Sai Krishna
相关产品推荐
相关产品推荐

