阿里云对象存储OSS依赖使用报错问题临时解决方案(已有永久方案)

永久方案:请参考《阿里云对象存储OSS奇葩异常的隐秘原因》。(2021-01-06更新)

--------------------以下为原文:------------------------------
目前,使用阿里云OSS时,能勉强使用的版本组合为:
Spring Cloud:Hoxton.SR8
Spring Boot:2.3.7.RELEASE
spring-cloud-alibaba-dependencies:2.2.0.RELEASE
spring-cloud-starter-alicloud-oss:2.2.0.RELEASE(该本版号可不指定);
MyBatis Plus:3.4.1
JDK:11.0.9
Nacos:1.4.0
这就是本文要说的临时解决方案。之所以说它临时,是因为该方案无法保证启动应用程序和OSS上传文件同时成功!
具体方法:启动应用程序之前,先将spring-cloud-starter-alicloud-oss依赖注释掉。等应用程序启动成功之后,再取消依赖的注释,使用OSS文件上传功能。

-------------------------------------------强制分割线----------------------------------------
以下是测试过程中的部分异常记录:
按照官方的github项目示例《阿里云Spring Boot OSS Simple》,将aliyun-oss-spring-boot-starter添加到pom.xml依赖中,示例如下:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>aliyun-oss-spring-boot-starter</artifactId>
</dependency>

并在application.properties中添加access-key、secret-key和endpoint:

alibaba.cloud.access-key=LT***t
alibaba.cloud.secret-key=xi***UZ
alibaba.cloud.oss.endpoint=oss-cn-beijing.aliyuncs.com

测试启动应用,启动失败,部分异常如下:

    2021-01-03 21:51:58.864 ERROR 16672 --- [           main] o.s.boot.SpringApplication               : Application run failed

    java.lang.IllegalStateException: Error processing condition on com.alibaba.alicloud.context.oss.OssContextAutoConfiguration.ossClient
        at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[spring-boot-autoconfigure-2.3.7.RELEASE.jar:2.3.7.RELEASE]
        at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]

    Caused by: java.lang.IllegalStateException: @ConditionalOnMissingBean did not specify a bean using type, name or annotation and the 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值