Java无法从AIX解析DNS地址:UnknownHostException

我遇到这个奇怪的错误.

在AIX上,如果可以从命令行访问服务器(使用ping / telnet)

但是,如果我尝试使用Java,则会遇到UnkownHostException

这是由于Java无法以某种方式“使用” DNS,但我不知道为什么.如果我使用IP地址,则可以正常工作.

这是我的测试程序.

    import java.net.*;

    public class Test {
            public static void main( String [] args ) throws Exception  {
                    String host = args[0];
                    int port = Integer.parseInt( args[1] );
                    System.out.println("Connecting to: " + host + " at port: " + port );
                    Socket socket = new Socket( host, port );
                    System.out.println("Connected!");
                    socket.close();
                    System.out.println("Closed!");

            }
     }

有没有人知道AIX下的某种配置,该配置禁止程序(如java)访问DNS信息?

我(以及sysadm)已经在/ etc / hosts中添加了我的地址,但是它也不起作用.

提前致谢

Java版本:

Java(TM) 2 Runtime Environment, Standard Edition (build pap32dev-20080315 (SR7))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc-32 j9vmap3223-20080315 (JIT enabled)

解决方法:

我也有这个问题.我在Ubuntu64上安装了许多Java程序,但它们都不能解析域名(也有多个JRE,其中有些是IBM产品).如果我将域名和IP地址一起放在主机文件中,则该域名仅适用于那些域.每个其他非Java程序都可以在域解析下正常工作.奇怪的!
如果找到答案,我会在这里发布.如果您有答案,请帮助我们!

上一篇:如何在unix / linux系统上将命令行args传递给正在运行的进程?


下一篇:如何使用mysql udf json_extract 0.4.0从json数组中提取行?