欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用IDEA啟動(dòng)項(xiàng)目遇見(jiàn)ClassNotFoundException的解決方案

 更新時(shí)間:2020年06月03日 10:16:04   作者:liuyongfei  
這篇文章主要介紹了使用IDEA啟動(dòng)項(xiàng)目遇見(jiàn)ClassNotFoundException的正確解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一. 錯(cuò)誤現(xiàn)象

本地開(kāi)發(fā) SpringBoot 項(xiàng)目的時(shí)候,在集成 MyBatis 查詢(xún)數(shù)據(jù)庫(kù)的時(shí)候,使用 IDEA 啟動(dòng)項(xiàng)目的時(shí)候,有時(shí)候會(huì)遇見(jiàn)如下的報(bào)錯(cuò):

Caused by: java.sql.SQLException: com.mysql.jdbc.Driver  at com.alibaba.druid.util.JdbcUtils.createDriver  ......  Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver  at java.net.URLClassLoader.findClass(URLClassLoader.java:382)  .......

二. 正確的解決姿勢(shì)

 1. 是否添加了mysql 驅(qū)動(dòng)

去 pom.xml 里查看是否添加了mysql 驅(qū)動(dòng)。如果之前沒(méi)有添加,需要引入 mysql 的 jar 驅(qū)動(dòng):

<dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  </dependency>

重新編譯后運(yùn)行,如果還是報(bào)這個(gè)錯(cuò),看第 2 步。

2. 執(zhí)行 mvn install

執(zhí)行 IDEA 里的 mvn install 命令,下載可能缺失的 jar 包。 如果重新編譯后運(yùn)行還是不行,看第 3 步。

3. 檢查配置文件是否有錯(cuò)

.yml 和 .properties 的配置文件對(duì)格式都有嚴(yán)格要求,確認(rèn)一下自己的數(shù)據(jù)庫(kù)連接配置是否有格式錯(cuò)誤。

比如:

行首和行位是否有空格之類(lèi)的。 4. 找到原因​

筆者按照前面的 3 個(gè)步驟反復(fù)檢查確認(rèn),依然還是報(bào)這個(gè)錯(cuò)誤,折騰了半天。會(huì)不會(huì) IDEA 哪個(gè)地方的設(shè)置有問(wèn)題。

命令行執(zhí)行jar包

為了驗(yàn)證猜想,于是進(jìn)到 jar 包所在的工程目錄下面, 在命令行下直接使用java -jar 的方式啟動(dòng):

java -jar projectName.jar`

卻發(fā)現(xiàn)服務(wù)能夠正常啟動(dòng)起來(lái),沒(méi)有報(bào)java.lang.ClassNotFoundException這個(gè)錯(cuò)誤。 由于我的項(xiàng)目是 SpringBoot 聚合工程,于是就猜測(cè)會(huì)不會(huì)是這個(gè) 模塊下的依賴(lài)沒(méi)有被 IDEA 讀到呢?

驗(yàn)證猜想

通過(guò) File -> Project Structure -> Project Settings -> Modules 打開(kāi) 彈窗,選中該模塊,在右側(cè)找到 Dependencies 選項(xiàng)卡并打開(kāi),在下面會(huì)出現(xiàn)該模塊依賴(lài)的 jar 包列表:

仔細(xì)找了一會(huì)兒,發(fā)現(xiàn)竟然沒(méi)有找到第 1 步添加的 mysql 的 jar 包。找到了問(wèn)題的原因,下面就列出三種解決辦法。

5. 添加Module的 Dependencies

方式一

  • 打開(kāi)添加 Dependencies 的彈窗
  • 添加 mysql jar包

點(diǎn) + 號(hào),然后選擇 Library

點(diǎn) Add Selected 保存。

方式二 選中模塊后右鍵

在彈出的菜單中選擇 Reimport ,則會(huì)重新從 pom.xml 里解析并下載依賴(lài)。

方式三

如果你在在開(kāi)發(fā)過(guò)程中新建了一個(gè)模塊,然后刪除了該模塊,后邊又新建了一個(gè)相同名字的模塊,則依賴(lài)也是引不進(jìn)來(lái)的。 這是因?yàn)?IDEA 默認(rèn)已經(jīng)刪除的模塊將不再使用,解決辦法:

打開(kāi) 項(xiàng)目目錄 .idea/misc.xml 文件:

刪除掉圈紅的該行(對(duì)應(yīng)你之前刪掉的模塊名)

重新新建同名的模塊,依賴(lài)就可以正常導(dǎo)入。

三. 總結(jié)

  •  遇到這種情況,先確認(rèn)代碼級(jí)別是否有什么遺漏或者配置文件是否格式有錯(cuò)誤,注意不要忘記執(zhí)行 clean 、install、package ;
  • 可以在命令行執(zhí)行 Jar 包:

如果仍然報(bào)同樣的錯(cuò)誤,則還是在代碼級(jí)別上有錯(cuò)誤,需要仔細(xì)的排查;

如果不報(bào)錯(cuò),那就可以確定是 IDEA 在某處的設(shè)置有問(wèn)題,比如 Jar 包的版本默認(rèn)選擇不對(duì)、mvn選擇的版本過(guò)低、module 的依賴(lài)沒(méi)有引進(jìn)來(lái)等。

到此這篇關(guān)于使用IDEA啟動(dòng)項(xiàng)目遇見(jiàn)ClassNotFoundException的正確解決姿勢(shì)的文章就介紹到這了,更多相關(guān)使用IDEA啟動(dòng)項(xiàng)目遇見(jiàn)ClassNotFoundException的正確解決姿勢(shì)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多線(xiàn)程回調(diào)方法實(shí)例解析

    Java多線(xiàn)程回調(diào)方法實(shí)例解析

    這篇文章主要介紹了Java多線(xiàn)程回調(diào)方法實(shí)例解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • JavaWeb開(kāi)發(fā)之【Tomcat 環(huán)境配置】MyEclipse+IDEA配置教程

    JavaWeb開(kāi)發(fā)之【Tomcat 環(huán)境配置】MyEclipse+IDEA配置教程

    這篇文章主要介紹了JavaWeb開(kāi)發(fā)之【Tomcat 環(huán)境配置】MyEclipse+IDEA配置教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java容器類(lèi)的深入理解

    Java容器類(lèi)的深入理解

    本篇文章是對(duì)Java容器類(lèi)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • SpringBoot ThreadLocal 簡(jiǎn)單介紹及使用詳解

    SpringBoot ThreadLocal 簡(jiǎn)單介紹及使用詳解

    ThreadLocal 叫做線(xiàn)程變量,意思是 ThreadLocal 中填充的變量屬于當(dāng)前線(xiàn)程,該變量對(duì)其他線(xiàn)程而言是隔離的,也就是說(shuō)該變量是當(dāng)前線(xiàn)程獨(dú)有的變量,這篇文章主要介紹了SpringBoot ThreadLocal 的詳解,需要的朋友可以參考下
    2024-01-01
  • Spring Event事件通知機(jī)制解讀

    Spring Event事件通知機(jī)制解讀

    這篇文章主要介紹了Spring Event事件通知機(jī)制解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java跳出當(dāng)前的多重嵌套循環(huán)的五種方法

    Java跳出當(dāng)前的多重嵌套循環(huán)的五種方法

    在Java編程中,跳出多重嵌套循環(huán)可以使用break語(yǔ)句、標(biāo)號(hào)與break組合、return語(yǔ)句、標(biāo)志變量和異常處理五種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • JAVA中的deflate壓縮實(shí)現(xiàn)方法

    JAVA中的deflate壓縮實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇JAVA中的deflate壓縮實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • java獲取ip地址示例

    java獲取ip地址示例

    在JSP里,獲取客戶(hù)端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過(guò)了Apache,Squid等反向代理軟件就不能獲取到客戶(hù)端的真實(shí)IP地址了
    2014-04-04
  • springcloud?feign?接口指定接口服務(wù)ip方式

    springcloud?feign?接口指定接口服務(wù)ip方式

    這篇文章主要介紹了springcloud?feign?接口指定接口服務(wù)ip方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java簡(jiǎn)單操作word實(shí)例

    java簡(jiǎn)單操作word實(shí)例

    這篇文章主要為大家詳細(xì)介紹了java簡(jiǎn)單操作word實(shí)例,感興趣的朋友可以參考一下
    2016-03-03

最新評(píng)論