1. 程式人生 > >jstl配置導致 tomcat外掛無法啟動

jstl配置導致 tomcat外掛無法啟動

網上各種解決辦法都是版本錯誤什麼的,換個版本的Maven依賴,掛了代理都下不動,手動導了包又報了個ClassNotFound,WEB-INF下的lib也有對應的jar包,後來發現貌似是犯二了,沒有匯入jstl-impl,又搜了一下,這哥們正確配置Jstl的Maven依賴給了正確的Maven依賴配置:

  1. <dependency>
  2.            <groupId>javax.servlet.jsp.jstl</groupId>
  3.            <artifactId>jstl-api</artifactId>
  4.            <
    version>1.2</version>
  5.            <exclusions>
  6.                <exclusion>
  7.                    <groupId>javax.servlet</groupId>
  8.                    <artifactId>servlet-api</artifactId>
  9.                </exclusion>
  10.                <exclusion>
  11.                    <
    groupId>javax.servlet.jsp</groupId>
  12.                    <artifactId>jsp-api</artifactId>
  13.                </exclusion>
  14.            </exclusions>
  15.        </dependency>
  16.        <dependency>
  17.            <groupId>org.glassfish.web</groupId>
  18.            <artifactId
    >jstl-impl</artifactId>
  19.            <version>1.2</version>
  20.            <exclusions>
  21.                <exclusion>
  22.                    <groupId>javax.servlet</groupId>
  23.                    <artifactId>servlet-api</artifactId>
  24.                </exclusion>
  25.                <exclusion>
  26.                    <groupId>javax.servlet.jsp</groupId>
  27.                    <artifactId>jsp-api</artifactId>
  28.                </exclusion>
  29.                <exclusion>
  30.                    <groupId>javax.servlet.jsp.jstl</groupId>
  31.                    <artifactId>jstl-api</artifactId>
  32.                </exclusion>
  33.            </exclusions>
  34.        </dependency>

其實現在看來原因是現有的專案中已經有了對jsp-api和javax.servlet-api的引用,再引入一個JSTL,JSTL也會引入自身一套的jsp-api和javax.servlet-api引用,所以需要在pom.xml中把jstl引用的jsp-api和javax.servlet-api給exclusion掉。

普通的javaee專案無非就需要3個jar包

  1. <dependency>
  2.     <groupId>javax.servlet</groupId>
  3.     <artifactId>javax.servlet-api</artifactId>
  4.     <version>3.0.1</version>
  5.     <scope>provided</scope>
  6. </dependency>
  7. <dependency>
  8.     <groupId>javax.servlet.jsp</groupId>
  9.     <artifactId>jsp-api</artifactId>
  10.     <version>2.1</version>
  11.     <scope>provided</scope>
  12. </dependency>
  13. <dependency>
  14.     <groupId>javax.servlet</groupId>
  15.     <artifactId>jstl</artifactId>
  16.     <version>1.2</version>
  17. </dependency>
這裡面JSTL沒有jstl-impl.jar,對執行也沒什麼影響。。至於網上說的比較多的standard.jar標準標籤庫在jstl1.2以後的高版本不再需要了。