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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

异常处理_Maven之web项目java.lang.LinkageError

發布時間:2023/11/29 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 异常处理_Maven之web项目java.lang.LinkageError 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瀏覽器運行項目異常如下:

HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjava.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type p.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory; used in the signatureorg.apache.jsp.index_jsp._jspInit(index_jsp.java:31)org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:181)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)note The full stack trace of the root cause is available in the Apache Tomcat/7.0.22 logs.

剛看到該異常有點蒙,Ljavax/el/ExpressionFactory什么鬼,我的servlet-api.jar和jsp-api.jar都有啊

<dependency><groupId>org.apache.tomcat</groupId><artifactId>servlet-api</artifactId><version>6.0.37</version> </dependency> <dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version> </dependency>  

通過網上的解釋是tomcat1.7中的servlet-api.jar包,jsp-api.jar等與自己lib中的jar有所沖突

給的解決方案就是去掉自己項目中lib中沖突的jar包

但是問題又來了,那自己的是maven項目重啟不就找不到相關jar包了嗎,啟動不就報錯了嗎

好吧,那我就設置包的作用范圍為provided

<dependency><groupId>org.apache.tomcat</groupId><artifactId>servlet-api</artifactId><version>6.0.37</version><scope>provided</scope> </dependency> <dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope> </dependency>

重新發布,啟動tomcat,運行,成功,謝謝老天

PS_Maven_scope:

在POM 4中,<dependency>中<scope>,它主要管理依賴的部署,目前<scope>可以使用5個值* compile: 缺省值,適用于所有階段,會隨著項目一起發布* provided: 類似compile,期望JDK、容器或使用者會提供這個依賴,如servlet.jar* runtime: 只在運行時使用,如JDBC驅動,適用運行和測試階段* test: 只在測試時使用,用于編譯和運行測試代碼,不會隨項目發布* system: 類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查找它

轉載于:https://www.cnblogs.com/eRrsr/p/6202181.html

總結

以上是生活随笔為你收集整理的异常处理_Maven之web项目java.lang.LinkageError的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。