發現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地址】 【主機名】
搞定。
http://xxxxxx/Linuxjc/1155862.html TechArticle