为什么关联Jar包的Java文件在VS Code可运行,终端执行报错?
故障根因
- VS Code 运行 Java 程序时会自动读取
.vscode/settings.json配置,将java.project.referencedLibraries下声明的所有第三方 jar 包自动加载到类路径,你配置的 SQLite JDBC 驱动可以被正常识别,因此程序运行正常。 - 终端直接执行
java DbConnection.java为 Java 单文件源码运行模式,默认不会加载额外的第三方依赖包,缺少 SQLite JDBC 驱动会直接抛出类未找到异常,和你的报错场景完全匹配。
修复方案
方案1:运行时手动指定类路径
cd 到项目根目录后执行如下命令即可,Windows 系统请将路径分隔符 : 替换为 ;:
java -cp "lib/*:/Users/mattgranado/Desktop/SQLiteJDBC/*:src" src/DbConnection.java
方案2:先编译再运行(更规范的生产级用法)
- 执行编译命令,将源码编译到指定的 bin 目录:
javac -d bin -cp "lib/*:/Users/mattgranado/Desktop/SQLiteJDBC/*" src/DbConnection.java
- 执行编译后的 class 文件:
java -cp "bin:lib/*:/Users/mattgranado/Desktop/SQLiteJDBC/*" DbConnection
可选优化:全局配置类路径
如果需要频繁执行该程序,可以将依赖路径写入系统的 CLASSPATH 环境变量,后续无需每次手动加 -cp 参数即可直接运行。
内容的提问来源于stack exchange,提问作者mattgcf
相关产品推荐
相关产品推荐

