Visual Studio Code运行Java项目调用jar库失败,相同代码Eclipse可正常运行
问题修复方案
报错根因
运行时抛出java.lang.NoClassDefFoundError: jline/console/ConsoleReader是因为项目缺少text-io库的必要依赖JLine,且VS Code的Java依赖配置未正确生效。你在Eclipse中可以正常运行,是因为Eclipse的项目配置已经包含了该依赖,而VS Code的Java服务未读取到完整的依赖配置。
修复步骤
- 第一步:补全缺失依赖
text-io 3.4.0版本依赖JLine 2.x系列版本(JLine 3.x包结构发生变更,无法匹配),你需要额外获取jline-2.14.6.jar,将其放入你的项目依赖目录中,和已有的text-io-3.4.0.jar、slf4j-api-2.0.0-alpha5.jar、slf4j-nop-2.0.0-alpha5.jar放在一起。 - 第二步:刷新VS Code Java依赖配置
打开VS Code侧边栏的Java项目视图,找到*Referenced Libraries(引用的库)*选项,点击右侧的加号按钮,选中目录下所有4个jar包完成添加。
添加完成后按Ctrl+Shift+P(Mac系统按Command+Shift+P)唤起命令面板,输入Java: Clean Java Language Server Workspace,选择确认重启Java语言服务,清空历史缓存配置。 - 第三步:验证运行
重启完成后重新运行项目主类,即可正常初始化TextIO实例,不会再抛出类找不到的异常。
内容的提问来源于stack exchange,提问作者dangdung
相关产品推荐
相关产品推荐

