Dict.CN 在线词典, 英语学习, 在线翻译 ------------- MyGitee 朱秋贵内科诊所 My腾云code

Tomcat10依赖问题 jakarta.servlet-api 6.0.0 spring6.x.x

org.springframework.web.servlet.DispatcherServlet’ is not assignable to javax.servlet.Servlet

1、pom.xml配置

        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
        </dependency>

2、web.xml报错

因为tomcat9配置的是javax.servlet-api,升级到tomcat10后,依赖需要改成jakarta.servlet-api,然后spring相关版本也需要升级到6.x.x才行。

3、无法访问org.springframework.context.annotation.xxx

类文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。

因为spring6.0升级后所依赖的jdk需要升级到17及以上,与本地的jdk版本不一致,所以要么再升级jdk,要么降低spring及上述版本到低版本。

类文件与jdk的版本依赖:

https://stackoverflow.com/questions/9170832/list-of-java-class-file-format-major-version-numbers

4、升级SDK后Resource注解失效(原来是1.8,升级到17)

 方法①:替换成Inject

<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>

方法②:添加pom依赖

<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>

方法③:替换成springframework自带的Autowired

引用:https://blog.csdn.net/weixin_43091089/article/details/128076622

posted @ 2023-05-15 16:10  cn2023  阅读(828)  评论(0编辑  收藏  举报