springboot javax.servlet不存在,javax.servlet.Filter

  springboot javax.servlet不存在,javax.servlet.Filter

  

目录

SpringBoot找不到javax.servlet.Filter的问题启动SpringBoot项目找不到错误。这是我配置的(有问题的)正确配置(在远程maven仓库中搜索的配置)

 

  00-1010创建了一个新的SpringBoot项目,在编译期间出现了找不到javax.servlet.Filter的异常。

  这个类位于jar tomcat-embed下,这里的解决方法不是像网上大多数人说的那样手动添加这个jar,因为是没有添加spring-boot-starter-web依赖导致的。

  默认情况下,spring-boot-starter和spring-boot-starter-test被添加到springboot项目中,而Spring-Boot-Starter-web依赖项是web项目所必需的。

  下面对比一下spring-boot-starter和spring-boot-starter-web这两个依赖的区别:

  弹簧-启动-起动器-web:

  不带web:的弹簧启动起动机

  所以在maven里添加下面这个依赖即可:

  依赖关系groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-web/artifactId/dependencies

  

SpringBoot找不到javax.servlet.Filter的问题

Java . lang . classnotfoundexception : javax . servlet . filter

 

  出现该问题是因为javax.servlet.Filter的Tomcat-embed-core-xxx.jar包丢失;我们通常使用spring-boot-starter-web注入。

  但是,我检查了包已经存在于maven的本地仓库中,项目依赖于maven。pom文件也注入了spring-boot-starter-web;编译无误。但这是项目启动错误。

  经过一番折腾,我仔细对比了pom文件中的配置项,发现了小的差异;

  

启动SpringBoot项目找不到报错

依赖关系groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-Tomcat/artifactId scope provided/scope/dependency

 

  

这是我配置的(有问题的)

依赖groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-Tomcat/artifactId version2.3.1.RELEASE/version/依赖

 

  对比后发现,scopeprovided/scope是报错的根源;所以直接删除这个属性;添加版本号属性,重启错误解决。

  以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: