发现linux下部署disconf报cannot get host info的问题我通过github上disconf源码发现:
第45行:InetAddress.getLocalHost();发现这个方法在linux上很是坑爹。 InetAddress.getLocalHost返回了一个错误的IP地址。为什么这个函数会返回一个错误的地址,因为这个函数的原理是通过获取本机的hostname,然后对此hostname做解析,从而获取IP地址的。那么问题来了,如果在本机的/etc/hosts文件里对这个主机名指向了一个错误的IP地址,那么InetAddress.getLocalHost就会返回这个错误的IP地址。当然如果你的hostname是到DNS去解析的,碰巧DNS上的信息也是错的,也同样是悲惨结局。 解决办法: 通过hostname查看主机名
修改/etc/hosts:添加一行:【本机IP地址】 【主机名】 |