0
点赞
收藏
分享

微信扫一扫

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




举报

相关推荐

0 条评论