最近工作在使用Spring Cloud微服务时遇到一个问题,在本地的idea中启动服务时有如下错误无法获取到config服务中的配置数据,导致微服务无法启动。
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'applyCodeServiceImpl':
Unsatisfied dependency expressed through field 'applyCodeConfig';
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'applyCodeConfig': In jection of autowired dependencies failed;
nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'fastdfs.uploadPath' in value "${fastdfs.uploadPath}"
在网上找了下资料没有找到类似的解决方案,但是从部分网上获得灵感。
微服务的客户端不能有服务端的jar包。
于是在idea中搜索依赖jar包,发现客户端中既有config-client包又有config-server包。。
怀疑是jar包冲突,然后删除了config-server包后,再次在idea中运行程序,服务正常启动。
本以为可以愉快的部署到服务器时,结果此问题又才服务器上出现了 = =!
由于本地idea上已经可以正常运行了,怀疑还是jar包中出了问题,于是就检查jar包中的文件,结果又发现了位config-server兄弟。
无语了,我刚才在idea中把config-server送走,这会咋有跑回来了 = =!
回忆了下步骤,除了用idea中的maven打包外什么也没有执行。
所以可能是idea中的maven打包导致的(还没有详细学习过maven)。但是我还不会其他的打包方式。于是我就直接将jar包用winRAR打开,手动删除了对应的jar包。
上传到服务器,服务启动成功。
附:
工具版本:
IntelliJ IDEA 2018.2 x64
apache-maven-3.5.2
以上仅做个人记录,不喜勿喷。



