最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀maven項(xiàng)目中Tomcat10與JSTL的問題匯總(Debug親身經(jīng)歷)

 更新時(shí)間:2023年07月17日 10:09:58   作者:某猿蚊常叮  
這篇文章主要介紹了解讀maven項(xiàng)目中Tomcat10與JSTL的問題匯總(Debug親身經(jīng)歷),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

maven項(xiàng)目中Tomcat10與JSTL的問題匯總

如果你在學(xué)習(xí) web項(xiàng)目過程中遇到以下三種錯(cuò)誤,那么本篇可能會對你有所幫助:

1 無法在web.xml或使用此應(yīng)用程序部署的jar文件中解析絕對uri:[http://java.sun.com/jsp/jstl/core]

2 java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

3 java.lang.NoClassDefFoundError:jakarta/servlet/jsp/jstl/core/LoopTag

問題描述與解決方法

這里先總結(jié)出解決方法

問題1

無法在web.xml或使用此應(yīng)用程序部署的jar文件中解析絕對uri:[http://java.sun.com/jsp/jstl/core]

如果你的web服務(wù)器是10.0及以上,那么你可以在pom.xml中導(dǎo)入jstl依賴

<dependency>
	<groupId>org.glassfish.web</groupId>
	<artifactId>jakarta.servlet.jsp.jstl</artifactId>
	<version>2.0.0</version>
</dependency>

并且你需要將jakarta.servlet.jsp.jstl-2.0.0.jar解壓,并從其META-INF文件夾中取出你需要的.tld文件,(一般c.tld就夠用了)

并把這個(gè)文件導(dǎo)入到你項(xiàng)目的WEB-INF,這樣啟動的時(shí)候Tomcat服務(wù)器就可以編譯到這個(gè)文件。

然后一定記得(假設(shè)你用的是idea,因?yàn)槠渌奈覜]用過)對maven項(xiàng)目做這些:

clean->validate->compile->install, 然后rebuild你的module,接著重啟tomcat,正常情況下問題是可以解決的。關(guān)于問題分析可以翻到下一節(jié)

如果你的web服務(wù)器是9.0及以下,那么你可以在pom.xml中引入jstl依賴

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

引用格式可以參考JSTL的官網(wǎng):http://tomcat.apache.org/taglibs/standard/

或者從官網(wǎng)下載一份jstl-1.2.jar拷貝到WEB-INF/lib中,并且解壓jstl-1.2.jar將其中的META-INF中的tld文件拷貝到你的WEB-INF文件夾下,當(dāng)然一定記得(假設(shè)你用的是idea,因?yàn)槠渌奈覜]用過)對maven項(xiàng)目做這些:

clean->validate->compile->install, 然后rebuild你的module,接著重啟tomcat,正常情況下問題是可以解決的。關(guān)于問題分析可以翻到下一節(jié)

問題2

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibrary Validator

假設(shè)你使用的Tomcat服務(wù)器是10.0及以上,那么大概率是在WEB-INF文件夾下,導(dǎo)入了x.tld文件,解決方法可以通過以上引入依賴的方式,也可以將jakarta.servlet.jsp.jstl-2.0.0.jarjakarta.servlet.jsp.jstl-api-2.0.0.jar兩個(gè)jar包手動導(dǎo)入到WEB-INF/lib下,并且一定記得(假設(shè)你用的是idea,因?yàn)槠渌奈覜]用過)對maven項(xiàng)目做這些:

clean->validate->compile->install, 然后rebuild你的module,接著重啟tomcat,正常情況下問題是可以解決的。關(guān)于問題分析可以翻到下一節(jié)

也可以通過官網(wǎng)下載:https://jakarta.ee/zh/specifications/tags/2.0/

問題3

java.lang.NoClassDefFoundError:jakarta/servlet/jsp/jstl/core/ LoopTag

假設(shè)你使用的Tomcat服務(wù)器是10.0及以上,解決方法可以通過以上引入依賴的方式,也可以將jakarta.servlet.jsp.jstl-api-2.0.0.jar這個(gè)jar包手動導(dǎo)入到WEB-INF/lib下,并且一定記得(假設(shè)你用的是idea,因?yàn)槠渌奈覜]用過)對maven項(xiàng)目做這些:

clean->validate->compile->install, 然后rebuild你的module,接著重啟tomcat,正常情況下問題是可以解決的。關(guān)于問題分析可以翻到下一節(jié)

問題原因分析

問題一分析

無法在web.xml或使用此應(yīng)用程序部署的jar文件中解析絕對uri:[http://java.sun.com/jsp/jstl/core]

針對于這個(gè)問題,網(wǎng)上給出的大部分解決方法都是下載:jstl-1.2.jarstandard-1.1.2.jar這兩個(gè)jar包,然后解壓取出其中的~文件放到WEB-INF文件夾下,但是這只能解決Tomcat9及以下的服務(wù)器。

關(guān)于為什么需要解壓出tld文件?

因?yàn)槟承┌姹镜?code>Tomcat在啟動中會掃描jar包,但并不會掃描jar包中包含的tld文件,比如c.tld文件等,在tomcat編譯過程中被忽略了。

通過查閱我才知道下面這件事

眾所周知,由于Tomcat10使用的是JakartaEE9的標(biāo)準(zhǔn),Servlet的標(biāo)準(zhǔn)包不再由Apache支持維護(hù),轉(zhuǎn)交給Jakarta管理,對應(yīng)的最新JSTL只能在Jakarta.ee官網(wǎng)下載。

所以,對于Tomcat10原來的jstl-1.2.jar,已經(jīng)不能滿足了,換成了jakarta.servlet.jsp.jstl-2.0.0.jarjakarta.servlet.jsp.jstl-api-2.0.0.jar

問題二分析

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

我遇到這個(gè)錯(cuò)誤,是我將jstl-1.2.jar已經(jīng)導(dǎo)入到項(xiàng)目中,并且我還將c.tld文件導(dǎo)入了WEB-INF中,說明還是少類文件(但是我并沒有找到這個(gè)類文件。。。)。

然后我新增了pom.xmljstl-2.0的依賴,問題就解決了

問題三分析

java.lang.NoClassDefFoundError:jakarta/servlet/jsp/jstl/core/LoopTag

也就是編譯時(shí)找不到LoopTag類,我遇到這個(gè)情況是:

我已經(jīng)將jakarta.servlet.jsp.jstl-2.0.0.jar導(dǎo)入了,但是少了另一個(gè)包,后來我終于在jstl-api文件下發(fā)現(xiàn)了它

總結(jié)

debug的過程中,少不了要去看別人的經(jīng)歷,但是有時(shí)候耶穌救不了你,還得根據(jù)報(bào)什么錯(cuò),自己發(fā)現(xiàn)問題,最好是重新建一個(gè)工程,通過對比,發(fā)現(xiàn)問題。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java連接數(shù)據(jù)庫(代碼分享)

    java連接數(shù)據(jù)庫(代碼分享)

    本文主要介紹了java連接數(shù)據(jù)庫的實(shí)現(xiàn)方法代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • 淺談java獲取UUID與UUID的校驗(yàn)

    淺談java獲取UUID與UUID的校驗(yàn)

    這篇文章主要介紹了java獲取UUID與UUID的校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 原來Java中有兩個(gè)ArrayList

    原來Java中有兩個(gè)ArrayList

    原來Java中有兩個(gè)ArrayList,本文就帶著大家一起探究Java中的ArrayList,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Java輸入輸出流的使用詳細(xì)介紹

    Java輸入輸出流的使用詳細(xì)介紹

    本篇文章介紹了,在Java中輸入輸出流的使用詳細(xì)分析。需要的朋友參考下
    2013-04-04
  • Jpa使用Page和Pageable分頁遇到的問題及解決

    Jpa使用Page和Pageable分頁遇到的問題及解決

    這篇文章主要介紹了Jpa使用Page和Pageable分頁遇到的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 一篇文章帶你了解java泛型--泛型類,泛型方法,泛型接口

    一篇文章帶你了解java泛型--泛型類,泛型方法,泛型接口

    這篇文章主要介紹了java泛型基礎(chǔ)知識及通用方法,從以下幾個(gè)方面介紹一下java的泛型: 基礎(chǔ), 泛型關(guān)鍵字, 泛型方法, 泛型類和接口,感興趣的可以了解一下
    2021-08-08
  • mybatis中<if>標(biāo)簽bool值類型為false判斷方法

    mybatis中<if>標(biāo)簽bool值類型為false判斷方法

    這篇文章主要給大家介紹了關(guān)于mybatis中<if>標(biāo)簽bool值類型為false判斷方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Spring?Boot中@Autowired注入為空的原因以及解決方法

    Spring?Boot中@Autowired注入為空的原因以及解決方法

    最近在開發(fā)中遇到了使用@Autowired注解自動裝配時(shí)會報(bào)空指針,發(fā)現(xiàn)對象并沒有裝配進(jìn)來,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot中@Autowired注入為空的原因以及解決方法,需要的朋友可以參考下
    2024-01-01
  • SpringBoot項(xiàng)目實(shí)現(xiàn)關(guān)閉數(shù)據(jù)庫配置和springSecurity

    SpringBoot項(xiàng)目實(shí)現(xiàn)關(guān)閉數(shù)據(jù)庫配置和springSecurity

    這篇文章主要介紹了SpringBoot項(xiàng)目實(shí)現(xiàn)關(guān)閉數(shù)據(jù)庫配置和springSecurity的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • shiro+jwt登陸驗(yàn)證實(shí)現(xiàn)教程

    shiro+jwt登陸驗(yàn)證實(shí)現(xiàn)教程

    本文介紹了如何使用Shiro和JWT實(shí)現(xiàn)登錄認(rèn)證,并通過自定義Realm和過濾器來完成身份驗(yàn)證和授權(quán),通過測試,展示了如何攜帶JWT令牌進(jìn)行接口訪問,并驗(yàn)證了其有效期
    2026-03-03

最新評論

横山县| 新宾| 长葛市| 溆浦县| 保山市| 武鸣县| 出国| 黄石市| 高要市| 宁阳县| 左权县| 政和县| 乌兰县| 凤庆县| 门源| 六安市| 海城市| 临泽县| 高雄县| 保亭| 张北县| 怀柔区| 临湘市| 海兴县| 锦屏县| 瑞金市| 通化市| 繁峙县| 嘉荫县| 武宣县| 九龙城区| 庄河市| 澄江县| 长寿区| 台东县| 于田县| 南川市| 涞源县| 封开县| 彭阳县| 开化县|