Intellij 社区中的错误 NoClassDefFoundError:javax/servlet/ServletContext [重复]

问题描述 投票:0回答:1

这是我的全部错误。我使用最新的 IntelliJ IDEA Community,JDK 20。当我运行时,它显示以下消息(我删除了显示不必要的代码):


    com.rdsic.quan_ly_goodchild.QuanLyGoodchildApplication.main(QuanLyGoodchildApplication.java:60) ~[classes/:na]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528]
    
    at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:414) ~[spring-core-5.3.10.jar:5.3.10]
    
    ... 16 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext
    
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.3.10.jar:5.3.10]
    ... 33 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    ... 37 common frames omitted

2024-01-05 17:34:18.463  WARN 14720 --- [           main] o.s.boot.SpringApplication               : Unable to close ApplicationContext

java.lang.IllegalStateException: Failed to introspect Class [org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528]


Process finished with exit code 1

此外,我的 pom.xml 文件存在一些错误:

Plugin 'org.springframework.experimental:spring-aot-maven-plugin:0.10.3' not found
Dependency org.graalvm.buildtools:junit-platform-native:${native-buildtools.version} not found
Plugin org.graalvm.buildtools:native-maven-plugin:${native-buildtools.version} not found

编辑:我将 JDK 降级到 JDK 1.8,现在可以了。感谢您的帮助。

java spring maven servlets pom.xml
1个回答
1
投票

根据这篇文章,您当前的(

2.5.5
)Spring Boot版本不支持JDK 20:

发布 Java
3.0 - 3.2 17 - 21
2.7 8 - 21
2.6 8 - 19
2.5 8 - 18

因此您需要将 JDK 降级到 JDK18 或更低版本将 Spring Boot 升级到 2.7 或更高版本

如果你问我,我会将 Spring Boot 升级到 3.2.x3.1.x,并使用 LTE JDK 版本,JDK 17JDK 21

© www.soinside.com 2019 - 2024. All rights reserved.