title: Domain name resolution not working in Java Applications on Ubuntu64 9.04 machine. All other software resolves DNS correctly
body: <p>I have an number of Java applications installed on an Ubuntu64 9.04 PC, and none of them can resolve domain names (there are multiple JRE's too - some of them are IBM products). If I put the domain name in the hosts file with it's associated IP address, then the Java apps work for those domains only. Every other non Java program - like ping, firefox, etc - work just fine with domain resolution. I've tried to disable DNS caching in the java.security file - for all of my JREs - but that didn't work either.  I would appreciate some help in figuring this one out. Thanks!</p>
  
  <hr>
  
  <p>UPDATE: 
  I am sure there isn't a proxy server in my home or office. - I appreciate you guys helping me here. I REALLY want to use Linux instead of windows now that I'm doing Java development again.</p>
  
  <pre><code>jgreenwood@jeg-ubuntu64:~$ cat /etc/resolv.conf
  # Generated by NetworkManager
  domain hsd1.in.comcast.net.
  search hsd1.in.comcast.net.
  nameserver 192.168.0.1
  jgreenwood@jeg-ubuntu64:~$ env | grep -i proxy
  jgreenwood@jeg-ubuntu64:~$ dig google.com
  
  ; &lt;&lt;&gt;&gt; DiG 9.5.1-P2 &lt;&lt;&gt;&gt; google.com
  ;; global options:  printcmd
  ;; Got answer:
  ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 56845
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
  
  ;; QUESTION SECTION:
  ;google.com.            IN  A
  
  ;; ANSWER SECTION:
  google.com.     58  IN  A   74.125.53.100
  google.com.     58  IN  A   74.125.45.100
  google.com.     58  IN  A   74.125.67.100
  
  ;; Query time: 35 msec
  ;; SERVER: 192.168.0.1#53(192.168.0.1)
  ;; WHEN: Thu Oct 22 13:37:26 2009
  ;; MSG SIZE  rcvd: 76
  </code></pre>
  
  <hr>
  
  <p>UPDATE:
  I wrote this java program in RAD:</p>
  
  <pre><code>import java.net.InetAddress;
  import java.net.UnknownHostException;
  import java.io.PrintWriter;
  import java.io.StringWriter;
  
  public class DomainResolutionTest {
  
      public static void main(String[] args) {
          if (args.length == 0) args = new String[] { "www.google.com" };
  
          try {
              InetAddress ip = InetAddress.getByName(args[0]);
              System.out.println(ip.toString());
          }catch (UnknownHostException uhx) {
              System.out.println("ERROR: " + uhx.getMessage() + "\n" + getStackTrace(uhx));
              Throwable cause = uhx.getCause();
              if (cause != null) System.out.println("CAUSE: " + cause.getMessage());
          }
  
      }
  
      public static String getStackTrace(Throwable t)
      {
          StringWriter sw = new StringWriter();
          PrintWriter pw = new PrintWriter(sw, true);
          t.printStackTrace(pw);
          pw.flush();
          sw.flush();
          return sw.toString();
      }
  
  }
  </code></pre>
  
  <p>The output is:</p>
  
  <pre><code>ERROR: www.google.com
  java.net.UnknownHostException: www.google.com
      at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
      at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:862)
      at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1213)
      at java.net.InetAddress.getAllByName0(InetAddress.java:1166)
      at java.net.InetAddress.getAllByName(InetAddress.java:1096)
      at java.net.InetAddress.getAllByName(InetAddress.java:1032)
      at java.net.InetAddress.getByName(InetAddress.java:982)
      at DomainResolutionTest.main(DomainResolutionTest.java:12)
  </code></pre>
  
  <hr>
  
  <p>From the command line: (same result)</p>
  
  <pre><code>jgreenwood@jeg-ubuntu64:~$ javac DomainResolutionTest.java
  jgreenwood@jeg-ubuntu64:~$ java DomainResolutionTest 
  ERROR: www.google.com
  java.net.UnknownHostException: www.google.com
      at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
      at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
      at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1200)
      at java.net.InetAddress.getAllByName0(InetAddress.java:1153)
      at java.net.InetAddress.getAllByName(InetAddress.java:1083)
      at java.net.InetAddress.getAllByName(InetAddress.java:1019)
      at java.net.InetAddress.getByName(InetAddress.java:969)
      at DomainResolutionTest.main(DomainResolutionTest.java:12)
  jgreenwood@jeg-ubuntu64:~$ java -version
  java version "1.6.0_16"
  Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
  Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode)
  jgreenwood@jeg-ubuntu64:~$ 
  </code></pre>