我使用下面给出的java代码从RHEL使用IBM JDK 1.8获得主机名
import java.net.InetAddress;
public class Hostname {
public static void main(String[] args) {
try{
String hostname = InetAddress.getLocalHost().getHostName();
System.out.println("Hostname is :"+hostname);
}
catch(Exception e){
System.out.println(" Exception :"+e);
System.out.println(" Exception Msg :"+e.getMessage());
}
}
}
- RHEL 6.9/IBM JDK 1.8的主机名=
vas2cxn00001122
. - 来自RHEL 7.6/IBM JDK 1.8的完全限定主机名=
vas2cxn00003344.cloud.vd.org
.
为什么6.9和7.6有区别?在RHEL 7.6中,我们必须更新或修改主机名,以便只获得主机名,而不是完全限定的主机名。
我无法找到RHEL 7.6的根本原因。所以我改变了我的java逻辑
from
InetAddress.getLocalHost().getHostName()
to
Runtime.getRuntime().exec("hostname")