色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

域名解析在Ubuntu64 9.04計算機(jī)上的Java應(yīng)用程序中不起作用。所有其他軟件可以正確解析DNS

瀏覽:138日期:2024-04-19 11:57:47
如何解決域名解析在Ubuntu64 9.04計算機(jī)上的Java應(yīng)用程序中不起作用。所有其他軟件可以正確解析DNS?

再一次,在這里人們的指導(dǎo)下,我找到了答案。當(dāng)我執(zhí)行以下操作時,上述Java程序?qū)⑵鹱饔茫?/p>

java -Djava.net.preferIPv4Stack=true DomainResolutionTest

細(xì)節(jié):

jgreenwood@jeg-ubuntu64:~$ java -Djava.net.preferIPv4Stack=true DomainResolutionTest www.google.com/209.85.225.106jgreenwood@jeg-ubuntu64:~$ java DomainResolutionTest ERROR: www.google.comjava.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)

事實(shí)證明,IPv6堆棧中存在一個錯誤。有幾篇文章使我得出這個結(jié)論:

http://uclue.com/?xq=2127

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477211

https://answers.launchpad.net/ubuntu/+question/23024

我希望我不必每次運(yùn)行Java應(yīng)用程序時都添加IPv4廢話。最終的解決方案可能在第二個鏈接中-缺少軟件包。我們將會看到。

Debian錯誤報告日志-#477211 ia32-sun-java6-bin:需要依賴lib32nss-mdns…無法解析域名。在系統(tǒng)的其余部分可以很好地解決,還沒有與其他JDK一起測試。從軟件包安裝,并使用update-java-alternatives進(jìn)行設(shè)置。

DNS對我系統(tǒng)上的其他所有功能都起作用。在Debian 2.6.23-AMD64上運(yùn)行。嘗試了Lenny軟件包和Sid軟件包。對于sun-java6-bin可以正常工作,而對于ia32-sun-java6-bin則可以失敗。精氨酸…如果您用strace擊中Java,您會發(fā)現(xiàn)它正在嘗試使用libnss_mdns4_minimal.so.2,該軟件包可在lib32nss-mdns包中找到。您應(yīng)該對此添加依賴性以修復(fù)該錯誤。

sun-java6-bin也會發(fā)生同樣的事情-這里使用libnss-mdns。

我的機(jī)器上確實(shí)缺少該軟件包:

jgreenwood@jeg-ubuntu64:~$ dpkg -L lib32nss-mdnsPackage `lib32nss-mdns’ is not installed.Use dpkg --info (= dpkg-deb --info) to examine archive files,and dpkg --contents (= dpkg-deb --contents) to list their contents.

無論哪種方式,我都希望這篇文章對其他人有所幫助,因?yàn)檫@是要弄清的主要PITA。

解決方法

我在Ubuntu64 9.04PC上安裝了許多Java應(yīng)用程序,但它們都無法解析域名(也有多個JRE,其中有些是IBM產(chǎn)品)。如果我將域名及其關(guān)聯(lián)的IP地址放在hosts文件中,則Java應(yīng)用程序僅適用于這些域。其他所有非Java程序(例如ping,firefox等)在域解析方面都可以正常工作。我嘗試對java.security文件中的所有JRE禁用DNS緩存-但這也不起作用。在解決這一問題上,我將不勝感激。謝謝!

更新:我確定我的家中或辦公室中沒有代理服務(wù)器。-非常感謝你們在這里幫助我。我真的要使用Linux而不是Windows,因?yàn)槲以俅芜M(jìn)行Java開發(fā)。

jgreenwood@jeg-ubuntu64:~$ cat /etc/resolv.conf# Generated by NetworkManagerdomain hsd1.in.comcast.net.search hsd1.in.comcast.net.nameserver 192.168.0.1jgreenwood@jeg-ubuntu64:~$ env | grep -i proxyjgreenwood@jeg-ubuntu64:~$ dig google.com; <<>> DiG 9.5.1-P2 <<>> google.com;; global options: printcmd;; Got answer:;; ->>HEADER<<- 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.100google.com. 58 IN A 74.125.45.100google.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

更新:我用RAD編寫了這個Java程序:

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(); }}

輸出為:

ERROR: www.google.comjava.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)

從命令行:(相同的結(jié)果)

jgreenwood@jeg-ubuntu64:~$ javac DomainResolutionTest.javajgreenwood@jeg-ubuntu64:~$ java DomainResolutionTest ERROR: www.google.comjava.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 -versionjava 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:~$

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 久久精品综合国产二区 | 免费播放国产性色生活片 | 亚洲乱人伦在线 | 欧美亚洲日本韩国一级毛片 | 日本精品一区二区三区在线视频 | 久久精品免视着国产成人 | 日韩一级生活片 | 精品中文字幕久久久久久 | 亚洲第99页 | ririai99在线视频观看 | 色www亚洲| 欧美在线视频精品 | 国产激情一区二区三区 | 欧美一级毛片一级 | 亚洲精品综合久久中文字幕 | 国产99久9在线视频 国产99久久 | 日韩欧美毛片免费观看视频 | 国产日产欧产精品精品推荐小说 | 亚洲精品国产综合久久一线 | 亚洲国产欧美在线不卡中文 | 亚洲国产精品成人综合久久久 | 手机看片在线播放 | 日韩一级一欧美一级国产 | 国产欧美专区在线观看 | 亚洲精品久久片久久 | 国产精品自在线 | 欧美大尺度aaa级毛片 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 自拍偷在线精品自拍偷无码专区 | 香蕉香蕉国产片一级一级毛片 | 337p欧美| 亚洲精品一区二区久久这里 | 久草视频在线播放 | 午夜精品视频在线观看美女 | 色综合亚洲七七久久桃花影院 | 国产精品久久久久影视不卡 | 欧美精品成人一区二区视频一 | 在线观看国产一区二三区 | 天天躁天天碰天天看 | 国产永久精品 | 精品视频自拍 |