无法解析“SpringFactoriesLoader”中的“forDefaultResourceLocation”方法

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

线程“main”中的异常 java.lang.NoSuchMethodError: 'org.springframework.core.io.support.SpringFactoriesLoader org.springframework.core.io.support.SpringFactoriesLoader.forDefaultResourceLocation(java.lang.ClassLoader)'

无法解析“SpringFactoriesLoader”中的“forDefaultResourceLocation”方法

SpringAppliacation 的基本代码:

private <T> List<T> getSpringFactoriesInstances(Class<T> type, ArgumentResolver argumentResolver) {
        return SpringFactoriesLoader.forDefaultResourceLocation(getClassLoader()).load(type, argumentResolver);
}

如果它可能对我的代码有帮助:

@SpringBootApplication
public class Spring3Application {

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

}

我不知道该怎么做,因为我无法更改此文件中的任何内容。这样我就可以做吗?

我刚开始学习Spring boot,使用IntelliJ IDEA

java spring spring-boot maven
2个回答
0
投票

我在使用 IntelliJ Community 版本并运行从 Spring Initialiazr 下载的项目时遇到了同样的问题。我必须下载的原因是 IntelliJ Community 版本不像 Ultimate 版本那样提供 Spring。

当我使用 Ultimate IntelliJ(有 30 天试用选项)并创建新项目(与您的相同)时,我可以毫无问题地运行它。

一开始我猜测问题来自于IntelliJ Community版本,但是当我在Udemy上发布问题时,助理老师说他可以在Community版本上运行它,没有任何问题。所以我的选择是使用 Ultimate 版本,因为不值得浪费时间来查找问题。

希望这有帮助!


0
投票

将 spring-core 依赖版本从 5.3.x 升级到 6.0.11 后,它对我有用

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