手起刀落w 2024-04-30 17:55 采纳率: 50%
浏览 48

Reason:java.Lang.IlLegalArgumentException

img

img

img


这个问题怎么解决啊,有没有宝宝会,我把这个阿里云配置上以后就有异常了,报这个错,对应的信息应该是无误。

  • 写回答

5条回答 默认 最新

  • 专家-皆知 2024-04-30 17:56
    关注

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    遇到这个错误java.lang.IllegalArgumentException: Circular placeholder reference 'sky.alioss.access-key-id' in property definitions,意味着在你的配置文件中存在循环引用的问题。具体到你的场景,是在尝试从YAML配置文件中读取sky.alioss.access-key-id的值时,该值又被设置为${sky.alioss.access-key-id},形成了一个循环引用,即属性引用了自身。

    为了解决这个问题,你需要确保在引用属性时,这些属性已经有一个直接的值,而不是再次引用它自己。看起来你可能是想在application.ymlapplication-dev.yml中定义这些阿里云OSS的配置项,并正确地引用它们。根据你提供的信息,问题出在你试图用变量引用自身。你需要直接提供这些敏感信息的值,或者确保它们在引用之前已经被定义。

    这里假设你有一个全局或默认的配置,你应该在某个地方定义这些环境特定的变量。例如,如果你打算在不同的环境(比如开发环境dev)使用不同的配置,确保每个环境的配置文件(比如application-dev.yml)都有完整的值,而不是引用。

    解决方案示例:

    确保在你当前使用的环境配置文件中(比如application-dev.yml),sky.alioss.access-key-id等属性被赋予了实际的值,而不是引用其他尚未定义的地方。下面是一个修正后的简化示例,假设这是你的application-dev.yml的一部分:

    sky:
      alioss:
        endpoint: oss-cn-beijing.aliyuncs.com
        # 这里应该填入真实的Access Key ID
        access-key-id: yourActualAccessKeyId
        # 这里应该填入真实的Access Key Secret
        access-key-secret: yourActualAccessKeySecret
        bucket-name: yourBucketName
    

    确保在引用这些属性的地方,它们已经在当前或者父级配置文件中被正确定义。如果sky.alioss的配置是共通的,考虑将它们放在一个所有环境都会加载的基础配置文件中,或者确保每个环境配置都包含这些值。

    如果你的配置分散在多个文件中,并且打算通过环境变量或命令行参数来动态设置这些敏感信息,确保这些外部配置来源的值在应用启动前就被正确注入。

    记得替换yourActualAccessKeyIdyourActualAccessKeySecretyourBucketName为实际的阿里云OSS配置值。这样修改后,循环引用的问题就应该被解决了。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月30日

悬赏问题

  • ¥100 如何寻找到黑客帮助,愿意付丰厚的酬劳
  • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败