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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。