Eclipse中Boot Layer初始化报错java.lang.module.FindException的解决求助
解决Eclipse中Selenium启动层初始化错误及ChromeDriver获取指南
一、启动层初始化错误解决
报错内容:
Error occurred during initialization of boot layer java.lang.module.FindException: Unable to derive module descriptor for E:\selenium-java-4.21.0\byte-buddy-1.14.15-sources.jar Caused by: java.lang.IllegalArgumentException: byte.buddy: Invalid module name: 'byte' is not a Java identifier
问题原因:
你添加的byte-buddy-1.14.15-sources.jar是源码包,不是运行依赖的二进制包。Java模块系统自动推导模块名时,将包名byte.buddy当作模块名,但byte是Java关键字,不能作为合法标识符,因此触发初始化错误。
解决方案:
- 移除源码包:从项目的类路径/模块路径中删除所有带
-sources.jar后缀的文件,只保留不带-sources的二进制jar包(比如保留byte-buddy-1.14.15.jar,删掉byte-buddy-1.14.15-sources.jar) - 正确选择依赖包:手动添加Selenium依赖时,只选
selenium-java-4.21.0压缩包内lib目录下的二进制jar,不要包含源码包;更推荐用Maven/Gradle管理依赖,自动拉取正确的运行依赖,避免手动选包出错 - 禁用模块系统:如果项目不需要使用Java模块,右键项目→
Build Path→Configure Build Path→Libraries,把模块路径(Modulepath)下的所有jar移到类路径(Classpath),同时删除项目中的module-info.java文件,跳过模块系统的校验逻辑
二、ChromeDriver获取与配置
版本匹配规则:
ChromeDriver的版本必须和本地安装的Chrome浏览器版本完全对应(比如Chrome是125.x,就下载125.x版本的ChromeDriver)
获取与配置步骤:
- 打开Chrome浏览器,输入
chrome://settings/help查看当前浏览器版本 - 下载对应版本的ChromeDriver,选择和操作系统(Windows/macOS/Linux)匹配的压缩包
- 解压后将ChromeDriver可执行文件(Windows为
chromedriver.exe,其他系统为chromedriver)放到项目根目录,或者添加到系统环境变量中;也可以在代码中直接指定路径:
System.setProperty("webdriver.chrome.driver", "./chromedriver.exe"); // 相对路径示例 WebDriver driver = new ChromeDriver();
内容的提问来源于stack exchange,提问作者vishwa netsol
相关产品推荐
相关产品推荐

