jstl配置導致 tomcat外掛無法啟動
阿新 • • 發佈:2019-02-05
網上各種解決辦法都是版本錯誤什麼的,換個版本的Maven依賴,掛了代理都下不動,手動導了包又報了個ClassNotFound,WEB-INF下的lib也有對應的jar包,後來發現貌似是犯二了,沒有匯入jstl-impl,又搜了一下,這哥們正確配置Jstl的Maven依賴給了正確的Maven依賴配置:
- <dependency>
- <groupId>javax.servlet.jsp.jstl</groupId>
- <artifactId>jstl-api</artifactId>
-
<
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
-
<
- <artifactId>jsp-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.glassfish.web</groupId>
-
<artifactId
- <version>1.2</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.servlet.jsp.jstl</groupId>
- <artifactId>jstl-api</artifactId>
- </exclusion>
- </exclusions>
- </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包
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.0.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <version>1.2</version>
- </dependency>