網頁

2020/4/10

Spring Boot javax.servlet.http.HttpServletRequest ClassNotFoundException

在Spring Boot Web MVC專案中想取得HttpServletRequest時發現此類別並不存在。

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

原因很簡單,就是專案中找不到javax.servlet.http.HttpServletRequest類別,因為Java Servlet API通常由Server如Tomcat提供。在Spring Boot程式中使用則必須額外引入下面依賴(撰寫本文時最新的Java Servlet API版本為4.0.1)才能在程式中正常調用。

如果套件管理工具是Maven。

Maven pom.xml

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>compile</scope>
</dependency>

如果套件管理工具是Gradle。

Gradle build.gradle

compile group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'    

Gradle 3.4 以後 build.gradle

implementation group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'    

沒有留言:

張貼留言