今天在部署完预生产环境的时候发现一个问题,在linux下面java代码获取本机ip地址获取不到。但是我在测试环境上面是能够获取到的。先粘下获取本机ip的代码:
try{
EnumerationallNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress addr = null;
while (allNetInterfaces.hasMoreElements())
{
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
//System.out.println(netInterface.getName());
Enumerationaddresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements())
{
InetAddress ipTmp = (InetAddress) addresses.nextElement();
if(ipTmp != null && ipTmp instanceof Inet4Address
&& ipTmp.isSiteLocalAddress()
&& !ipTmp.isLoopbackAddress()
&& ipTmp.getHostAddress().indexOf(":")==-1){
addr = ipTmp;
}
}<