java.lang.NoSuchMethodError: org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForCollections(I)V的解决

10:01:39.361 [main] DEBUG org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - Application failed to start due to an exception
java.lang.NoSuchMethodError: org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForCollections(I)V
	at org.springframework.boot.env.OriginTrackedYamlLoader.createYaml(OriginTrackedYamlLoader.java:69)
	at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:164)
	at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:84)
	at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
	at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:48)
	at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:34)
	at org.springframework.boot.context.config.ConfigDataLoaders.load(ConfigDataLoaders.java:103)
	at org.springframework.boot.context.config.ConfigDataImporter.load(ConfigDataImporter.java:118)
	at org.springframework.boot.context.config.ConfigDataImporter.resolveAndLoad(ConfigDataImporter.java:82)
	at org.springframework.boot.context.config.ConfigDataEnvironmentContributors.withProcessedImports(ConfigDataEnvironmentContributors.java:121)
	at org.springframework.boot.context.config.ConfigDataEnvironment.processInitial(ConfigDataEnvironment.java:242)
	at org.springframework.boot.context.config.ConfigDataEnvironment.processAndApply(ConfigDataEnvironment.java:230)
	at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:97)
	at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:89)
	at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEnvironmentPreparedEvent(EnvironmentPostProcessorApplicationListener.java:100)
	at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEvent(EnvironmentPostProcessorApplicationListener.java:86)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:82)
	at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:63)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
	at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:62)
	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:362)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)
	at com.rabbit.readwebsite.ReadWebsiteApplication.main(ReadWebsiteApplication.java:9)
10:01:39.364 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springframework.boot.env.OriginTrackedYamlLoader.createYaml(OriginTrackedYamlLoader.java:69)

The following method did not exist:

    org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForCollections(I)V

The method's class, org.yaml.snakeyaml.LoaderOptions, is available from the following locations:

    jar:file:/home/Rabbit/.m2/repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar!/org/yaml/snakeyaml/LoaderOptions.class

The class hierarchy was loaded from the following locations:

    org.yaml.snakeyaml.LoaderOptions: file:/home/Rabbit/.m2/repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.yaml.snakeyaml.LoaderOptions


Process finished with exit code 1

解决方法:

可能是版本问题,

<dependency>
   <groupId>org.yaml</groupId>
   <artifactId>snakeyaml</artifactId>
   <version>1.25</version>
</dependency>

中的版本号去掉就好,使SpringBoot自动获取需要的版本。

<dependency>
   <groupId>org.yaml</groupId>
   <artifactId>snakeyaml</artifactId>
</dependency>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这是一个Java程序的错误信息,意思是找不到方法org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForCollections(int),导致程序无法运行。可能是因为程序中调用了这个方法,但是这个方法不存在或者版本不匹配。需要检查程序中是否正确引入了相关的库文件,并且检查代码中是否正确使用了这个方法。 ### 回答2: 这个错误是由于在程序运行中找不到特定方法所导致的。具体来说,这个错误是指程序在使用 SnakeYAML 库时出现了问题,这可能是因为程序使用的 SnakeYAML 版本与它所期望的版本不匹配。 具体地说,错误消息 "java.lang.nosuchmethoderror: org.yaml.snakeyaml.loaderoptions.setmaxaliasesforcollections(i)v" 意味着程序无法找到在 SnakeYAML 库中定义的 setmaxaliasesforcollections 方法。它的参数表明它应该接受一个整数参数,但在程序中它被调用时参数类型有误,或者是该方法在当前版本的 SnakeYAML 库中已被删除或重命名。 为了解决此问题,您可以尝试升级您的程序依赖项中的 SnakeYAML 库版本,或了解在此版本中是否有这种方法的替代方法。如果您不确定哪个版本的 SnakeYAML 库与您的程序兼容,请查阅SnakeYAML 文档或者联系SnakeYAML社区进行帮助。 ### 回答3: 这个错误是Java运行时环境中出现的一种运行时异常。也就是说,当你运行一个使用了 yaml 库的程序时,程序会报错。 具体地说,当某个类调用 yaml 库中的方法时,如果该方法不存在,就会抛出该异常。这个异常通常是因为使用的 yaml 版本不兼容、方法名书写错误、方法参数不正确等问题导致的。 解决这个问题的方法一般有以下几种: 1. 升级 yaml 版本。你可以在 Maven 或 Gradle 等项目管理工具中修改 yaml 的依赖版本,让它与你的项目兼容。 2. 检查代码书写。你需要检查你的代码是否正确地引用了相应的库,同时也要检查方法名、参数等是否正确。 3. 确认程序是否正确配置。有时候,某些类或 jar 包并没有被正确地部署到你的程序中,导致该异常的出现。你需要确认程序正确部署和配置。 总结来说,当出现这个异常时,你需要注意你所使用的 yaml 版本和代码书写是否正确,并确认程序是否正确部署和配置。只要哪个环节有误,就有可能导致出现该异常,并且需要仔细检查才能解决

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老布丁~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值