加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么InetAddress.getLocalHost().getHostName()返回一

发布时间:2020-12-14 05:02:48 所属栏目:Java 来源:网络整理
导读:我有一个build.gradle任务在我的开发框上工作像一个冠军,生成一个属性文件,该文件记录生成生成的机器的名称.逻辑很简单 def hostname = InetAddress.getLocalHost().getHostName(); 在我的开发框上,这总是产生与从bash shell做主机名相同的值. bobk-mbp:DM_S
我有一个build.gradle任务在我的开发框上工作像一个冠军,生成一个属性文件,该文件记录生成生成的机器的名称.逻辑很简单
def hostname = InetAddress.getLocalHost().getHostName();

在我的开发框上,这总是产生与从bash shell做主机名相同的值.

bobk-mbp:DM_Server bobk$hostname
bobk-mbp.local

然而,在我们的jenkins CI服务器上,bash主机名返回一个东西,但是我调用了InetAddress.getLocalHost().getHostName();返回别的东西.jenkins机器需要改变什么才能使这两个机器恢复相同的值?

解决方法

假设你在linux上,从o / s执行的hostname命令返回内核配置的主机名.

InetAddress.getHostName()使用您的O / S中配置的命名服务(DNS)对服务器的IP地址进行反向查找.

如果您需要o / s所理解的主机名,则可以通过System.getenv从环境变量获取主机名,这可能是最简单的选项.这不是一个完全可靠的方法,但它可能是足够的,而不需要深入网络或系统管理员.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读