本地以及测试环境一切正常,但是部署线上就直接报了以下异常:
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.aliyun.oss.OSS.putObject(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)Lcom/aliyun/oss/model/PutObjectResult;
刚开始以为是版本问题,经过版本更换,测试环境也报同样错误,经过一顿乱试,初步预估是内部存在jar包冲突
经过检查发现项目中有一个第三方jar包中拥有同样的依赖
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>....</version> </dependency>
而在功能使用时直接找到了这一个包,所以出现找不到方法的问题。后来,修改第三方jar包对应版本,成功解决(因为未使用到这个依赖)
这个问题解决的过程中,整个人都炸毛了,真是尴尬至极
总结一下:这样环境不同,现象各异的情况需要冷静的思考问题可能发生的原因,切不可没有想清楚就直接百度,各种尬解。
思路对了,事半功倍。
小小的纪念一下小白的历经过程.......(手动滑稽)