java - 未找到 ThrowingSupplier 类

标签 java spring classnotfoundexception

我在启动项目时遇到这个问题

java.lang.NoClassDefFoundError: org/springframework/util/function/ThrowingSupplier
    at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) ~[na:na]
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) ~[na:na]
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) ~[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:520) ~[na:na]
    at org.springframework.beans.factory.support.RootBeanDefinition.setInstanceSupplier(RootBeanDefinition.java:438) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.BeanDefinitionBuilder.rootBeanDefinition(BeanDefinitionBuilder.java:129) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.BeanDefinitionBuilder.rootBeanDefinition(BeanDefinitionBuilder.java:141) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer$CachingMetadataReaderFactoryPostProcessor.register(SharedMetadataReaderFactoryContextInitializer.java:104) ~[spring-boot-autoconfigure-2.7.7.jar:2.7.7]
    at org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer$CachingMetadataReaderFactoryPostProcessor.postProcessBeanDefinitionRegistry(SharedMetadataReaderFactoryContextInitializer.java:97) ~[spring-boot-autoconfigure-2.7.7.jar:2.7.7]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:87) ~[spring-context-5.3.24.jar:5.3.24]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.24.jar:5.3.24]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.24.jar:5.3.24]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.7.jar:2.7.7]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.7.jar:2.7.7]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.7.jar:2.7.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.7.jar:2.7.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.7.jar:2.7.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.7.jar:2.7.7]
    at br.com.biblioteca.BibliotecaApiApplication.main(BibliotecaApiApplication.java:10) ~[classes/:na]
Caused by: java.lang.ClassNotFoundException: org.springframework.util.function.ThrowingSupplier
    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:520) ~[na:na]
    ... 24 common frames omitted


Process finished with exit code 1

说实话,我不知道发生了什么。我在谷歌上搜索,没有找到任何对我有帮助的答案,我什至把它放在chatgpt中,但也什么也没有。

我的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>2.7.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>br.com.biblioteca</groupId>
    <artifactId>biblioteca-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>biblioteca-api</name>
    <description>API da biblioteca da gertrudes</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>6.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.5.1</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

如果有必要,我可以提交我的代码并将其提供给你们,以尝试运行。

我用谷歌搜索,没有找到任何相关内容。

最佳答案

问题是你的依赖关系破坏了事情。

TL;DR:删除 spring-beans 依赖项,因为它与您的设置不兼容。

说明:

您使用的是 Spring Boot 2.7.7,它使用 Spring 5.3.x。但是,您包含版本 6.0.3spring-beans ,它与 Spring Boot 2.7.7 不兼容(Spring Boot 3.0.x 需要/使用它)。

删除该依赖项,因为它已经被其他依赖项拉入。这让我想知道为什么您决定首先包含此内容?

关于java - 未找到 ThrowingSupplier 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75053433/

相关文章:

java - 石头剪刀布 Java决定

java.lang.ClassNotFoundException : com. opensymphony.xwork.ActionSupport

java - iReport - java.lang.ClassNotFoundException 异常

使用 netbeans 运行 maven jgroups 项目构建时出现 java.lang.NoClassDefFoundError

java - 有没有办法在运行时分配Java中的类?

java - Thread 上的 eetop 字段是做什么用的?

java - 无法读取 spring.security 的架构文档

java - Spring Boot REST 资源不显示链接对象(集)

java - 不调用 Hystrix 回退方法

java - java中的分割词