如何解决Java项目运行报错:non-zero exit value 1与模块找不到问题?
解决「mysql.connector.j模块找不到」启动错误
先修正主类配置错误
你的gradle.build里指定了错误的主类:
application { mainModule = 'system.test.librarysystem' mainClass = 'system.test.librarysystem.HelloApplication' // 此处有误 }
实际主类是system.test.librarysystem.Main,修改为:
application { mainModule = 'system.test.librarysystem' mainClass = 'system.test.librarysystem.Main' }
检查依赖与重新构建
- 刷新并重新拉取依赖:
执行命令(Windows系统替换为gradlew.bat):./gradlew clean build --refresh-dependencies - 验证MySQL驱动的模块化支持:
到项目的.gradle/caches/modules-2/files-2.1/com.mysql/mysql-connector-j/8.0.32目录,找到下载的jar包并解压,确认里面存在module-info.class——8.0.32版本本身支持模块化,若不存在则重新执行上一步命令拉取。
可选:显式声明模块依赖
如果上述操作未解决问题,将MySQL驱动依赖改为显式模块声明:
dependencies { implementation module('com.mysql:mysql-connector-j:8.0.32') // 其余依赖保持不变 }
重启项目
执行命令启动项目:
./gradlew run
注:你的module-info.java中requires mysql.connector.j;的写法是正确的,MySQL Connector/J 8.0.23+版本的模块名就是mysql.connector.j,无需修改。
内容的提问来源于stack exchange,提问作者matt gaming
相关产品推荐
相关产品推荐

