您的开发配置文件使用结果:
java.lang.ClassNotFoundException: org.springframework.cloud.netflix.ribbon.SpringClientFactory
只是告诉你在你的应用程序中缺少这种依赖关系。可能应用程序的配置方式是使用dev配置文件不加载那些客户端库 - 但是应用程序不提供任何替代方案。您需要修复应用程序以在dev配置文件中提供库,或者,例如,模拟该依赖项。
当您使用docker和consul运行服务时,它会被注册到consul,因为它在docker-compose.yml文件中有条目并且注册部分发生但我们并没有完全看到。因此,您不会遇到任何问题,但是当您通过IDE运行它时,您没有将其注册到领事,因此它会抛出 UnknownHostException 。
UnknownHostException
基本上,您需要向领事注册您的服务以进行发现。
我用以下命令做到了
curl -X PUT -H 'application/json' -d '{"Node": "yourServiceName", "Address":"yourHost.com", "Service": {"Service": "yourServiceName", "Tags": ["proxy"], "Port": 8080}}' http://yourHost/v1/catalog/register
注意:
1.提供正确的端口和名称。
2.从存在docker-compose.yml的位置运行上面提到的命令
你也可以参考 领事入门 和 Consul目录API 如上所述,请求帮助将本地运行的服务注册到领事,这可能不适合您的要求。
希望能帮助到你 !