本文主要介绍利用IDEA启动项目遇到ClassNotFoundException的正确解决方法。这篇文章很详细,对你的学习或者工作有一定的参考价值。有需要的朋友可以参考一下。
一. 错误现象
开发本地SpringBoot项目时,集成MyBatis查询数据库时,使用IDEA启动项目时,有时会遇到以下错误:
原因:Java . SQL . sqlexception:com . MySQL . JDBC . driver at com . Alibaba . druid . util . JDBC utils . create driver.原因:Java . net . URL class loader . find class上的Java . lang . classnotfoundexception:com . MySQL . JDBC . driver(URL class loader . Java:382).
二. 正确的解决姿势
1.加mysql驱动了吗?
去pom.xml看看是否添加了mysql驱动。如果之前没加,需要介绍一下mysql的jar驱动:
依赖关系groupId MySQL/groupId artifactId MySQL-连接器-Java/artifactId/依赖关系
重新编译并运行。如果您仍然报告此错误,请参见步骤2。
2.执行mvn安装
在IDEA中执行mvn install命令,下载可能丢失的jar包。如果重新编译后仍然不工作,请参见步骤3。
3.检查配置文件中的错误。
的配置文件。yml和。属性对格式有严格的要求。检查您的数据库连接配置是否有格式错误。
例如:
行首和位置是否有空格等。找出原因
按照前面三步,笔者反复检查确认,还是报出了这个错误,折腾了半天。会不会是IDEA的设定有问题。
执行命令行jar包
为了验证这个猜想,我去了jar包所在的项目目录,在命令行直接使用java -jar启动它:
java -jar项目名称. jar `文件
但是发现服务可以正常启动,没有报告错误Java . lang . classnotfoundexception。由于我的项目是SpringBoot聚合项目,不知道这个模块下的依赖是不是没有被IDEA读取过?
验证猜想
通过文件-项目结构-项目设置-模块打开弹出窗口,选择模块,找到右边的依赖项页签并打开,下面会出现该模块依赖的jar包列表:
仔细找了一会,发现找不到第一步添加的mysql的jar包。找到问题的原因后,这里有三个解决方法。
5.添加模块的依赖项
模式一
打开添加依赖关系的弹出窗口。
添加mysql jar包
点,然后选择库:
单击添加所选内容进行保存。
2.选择模块后右键单击。
在弹出菜单中选择Reimport,依赖项将被解析并再次从pom.xml下载。
模式3
如果在开发过程中创建新模块,然后删除该模块,再创建一个同名的新模块,则不会引入依赖关系。这是因为已经被IDEA默认删除的模块将不再被使用。解决方案是:
打开项目directory.idea/misc.xml文件:
删除圈出的行(对应于您之前删除的模块名)
新建一个同名模块,依赖关系可以正常导入。
三. 总结
在这种情况下,首先确认代码级别是否有遗漏,或者配置文件的格式是否错误。注意不要忘记执行清理、安装和打包。
您可以在命令行执行Jar包:
如果仍然报告相同的错误,则仍然存在代码级别的错误,需要仔细调查;
如果不报错,可以确定IDEA某处的设置有问题,比如默认没有选择Jar包的版本,mvn选择的版本太低,没有引入模块的依赖。
关于使用IDEA启动项目满足ClassNotFoundException的正确姿势的这篇文章到此为止。有关使用IDEA启动项目满足ClassNotFoundException的正确姿势的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。