展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

cloud项目中常见错误

  • 错误1:服务调用时报错
  • 服务消费者模块assess通过openFeign调用服务提供者模块hires
  • 如下为服务提供者模块hires的控制层接口
@RestController
@RequestMapping("/hires")
public class FeignController {
@Autowired
private UserService userService;
@RequestMapping(value = "/getInfo", method = RequestMethod.GET)
public RespResult getUserinfo(@RequestParam(value = "id") int id){
User userInfo = userService.getUserInfo(id);
return RespResult.success(userInfo);
}
}
  • 如下为服务消费者模块assess的service层
@Component
@FeignClient(value = "hires-8081")
public interface UserFeignService {
@RequestMapping(value = "/hires/getInfo", method = RequestMethod.GET)
public RespResult getUserinfo(@RequestParam(value = "id") int id);
}
  • 以下为服务消费者模块assess的控制层
@RestController
@Slf4j
public class UserFeignController {
@Resource
private UserFeignService userFeignService;
@RequestMapping(value = "/hi", method = RequestMethod.GET)
public RespResult getUserinfo(@RequestParam(value = "id") int id){
return userFeignService.getUserinfo(id);
}
}
  • 错误还原:通过服务消费者模块assess-8082调用hires-8081时报错status 405 reading EmpService#findAll(Integer);

  • 错误原因:在调用方法时应使用@RequestParam(value = "id")注入参数

  • 参考

  • 错误2:启动时报错,当前服务没有找到另一个子模块的公共类

解决方案:将公共模块编译打包发布

  • 将公共模块打包,引入公共模块包

  • 如下为公共模块

  • 其他微服务中引入

  • 错误3:分布式微服务启动时报错:'artifactId' with value 'java' does not match a valid id pattern

错误原因:新建项目时项目名中包好空格,pom文件中artifactid中包含空格
  • 错误4:分布式微服务启动时报错:Error: Could not find or load main class

  • 错误5:导入项目后显示红色波浪线,报错等

删除.idea .mvn等文件重新编译打包项目
拉取cloud项目到本地后应先编译打包父工程,再编译打包子项目,否则会报找不到某个公共模块的错误
posted @   DogLeftover  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2021-07-22 ubuntu入门
点击右上角即可分享
微信分享提示