日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

exception in thread main java,【异常】idea执行Main方法出现 Exception in thread main java.lang.NoClassDefFo...

發(fā)布時(shí)間:2024/1/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 exception in thread main java,【异常】idea执行Main方法出现 Exception in thread main java.lang.NoClassDefFo... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、異常復(fù)現(xiàn)步驟

1)首先得是一個(gè)Spring MVC項(xiàng)目

注:Spring Boot項(xiàng)目有內(nèi)置的web 容器,不會(huì)出現(xiàn)該問(wèn)題

2)main方法存在于使用HttpServletRequest類(lèi)的類(lèi)中

3)項(xiàng)目POM中引入有javax.servlet-api坐標(biāo)或沒(méi)有

javax.servlet

javax.servlet-api

3.1.0

provided

4)執(zhí)行Main方法出現(xiàn)以下異常

Error: A JNI error has occurred, please check your installation and tryagain

Exception in thread"main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)

at java.lang.Class.privateGetMethodRecursive(Class.java:3048)

at java.lang.Class.getMethod0(Class.java:3018)

at java.lang.Class.getMethod(Class.java:1784)

at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)

Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

...7 more

二、異常分析和解決方法

1)出現(xiàn)該異常的原因:就是找不到HttpServletRequest類(lèi),及javax.servlet-apipom坐標(biāo)沒(méi)引入或scope作用域問(wèn)題

*compile,缺省值,適用于所有階段,會(huì)隨著項(xiàng)目一起發(fā)布。*provided,類(lèi)似compile,期望JDK、容器或使用者會(huì)提供這個(gè)依賴(lài)。如servlet.jar。即已提供范圍的依賴(lài)在編譯classpath (不是運(yùn)行時(shí))可用*runtime,只在運(yùn)行時(shí)使用,如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段。*test,只在測(cè)試時(shí)使用,用于編譯和運(yùn)行測(cè)試代碼。不會(huì)隨項(xiàng)目發(fā)布。* system,類(lèi)似provided,需要顯式提供包含依賴(lài)的jar,Maven不會(huì)在Repository中查找它。

如上解釋,scope需要時(shí)compile

2)解決方案就是修改scope作用域

1.直接修改pom文件的

javax.servlet

javax.servlet-api

3.1.0

compile

2.修改idea中的(推薦,該方法不會(huì)改變pom內(nèi)容)

原文:https://www.cnblogs.com/756623607-zhang/p/10674388.html

總結(jié)

以上是生活随笔為你收集整理的exception in thread main java,【异常】idea执行Main方法出现 Exception in thread main java.lang.NoClassDefFo...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。