今天在学习springmvc的时候发现了一个关系冲突的问题,首先我不是大神,我只是一个初学者。
问题是由javax和jakerta引出来的。我的tomcat版本是9,jdk是17,spring是6.0.11,然后tomcat9使用的应该还是javax,但是在使用spring自己封装好的WebApplicaitonUtils的 getWebApplicationContext方法去优化代码,让一些读取配置文件的写法不会被写死,这个方法呢需要传一个servletContext对象,我自己创建这个对象之后将它传入方法里面却提示我传入的类型有误,他需要一个jakerta.servlet.ServletContext而不是javax.servlet.ServletContext。
好好好,竟然问题出来了,那么我们就可以去解决了,经过不断的沉浸式搜索,才明白,spring6需要的版本最低都是17,我刚好符合,在最后我在tomcat上找到了自认为是问题的所在。
而tomcat9却是绑定Java EE8 ,在这里就有冲突了,于是我果断的将我的tomcat换成了10,并且将pom文件中的对应依赖换成了jakerta
<!--tomcat10(包括10)之后需要的依赖--> <!--jsp的依赖--> <dependency> <groupId>jakarta.servlet.jsp</groupId> <artifactId>jakarta.servlet.jsp-api</artifactId> <version>3.0.0</version> <scope>provided</scope> </dependency> <!--jar包的依赖--> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency>
然后在windows将tomcat配置改成10的,idea重新导入tomcat,最后问题就解决了
原文地址:https://blog.csdn.net/qq_66348120/article/details/133414257
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_45702.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!