Skip to content

Spring Boot 3.4 is not compatible with Gson 2.10 #43442

@liufengvling

Description

@liufengvling

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">	<modelVersion>4.0.0</modelVersion>	<parent>	<groupId>org.springframework.boot</groupId>	<artifactId>spring-boot-starter-parent</artifactId>	<version>3.4.0</version>	<relativePath/> <!-- lookup parent from repository -->	</parent>	<groupId>com.example</groupId>	<artifactId>demo</artifactId>	<version>0.0.1-SNAPSHOT</version>	<name>demo</name>	<description>Demo project for Spring Boot</description>	<properties>	<java.version>21</java.version>	</properties>	<dependencies>	<dependency>	<groupId>org.springframework.boot</groupId>	<artifactId>spring-boot-starter-web</artifactId>	</dependency>	</dependencies> </project> 

start Application

@SpringBootApplication public class DemoApplication {	public static void main(String[] args) {	SpringApplication.run(DemoApplication.class, args);	} } 

ERROR:

 Exception in thread "main" java.lang.IllegalStateException: java.lang.NoClassDefFoundError: com/google/gson/Strictness	at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:823)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:328)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350)	at com.example.demo.DemoApplication.main(DemoApplication.java:10) Caused by: java.lang.NoClassDefFoundError: com/google/gson/Strictness	at java.base/java.lang.Class.getDeclaredFields0(Native Method)	at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3473)	at java.base/java.lang.Class.getDeclaredField(Class.java:2780)	at org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider$Constructors.isInnerClass(DefaultBindConstructorProvider.java:144)	at org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider$Constructors.getCandidateConstructors(DefaultBindConstructorProvider.java:134)	at org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider$Constructors.getConstructors(DefaultBindConstructorProvider.java:103)	at org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider.getBindConstructor(DefaultBindConstructorProvider.java:55)	at org.springframework.boot.context.properties.ConfigurationPropertiesBean.deduceBindMethod(ConfigurationPropertiesBean.java:288)	at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.createBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:94)	at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:88)	at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:70)	at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:64)	at java.base/java.lang.Iterable.forEach(Iterable.java:75)	at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49)	at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86)	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:387)	at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:986)	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:386)	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:149)	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:121)	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:430)	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:290)	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349)	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118)	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791)	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609)	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)	at org.springframework.boot.SpringApplication.run(SpringApplication.java:318)	... 3 more Caused by: java.lang.ClassNotFoundException: com.google.gson.Strictness	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)	... 33 more 

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions