Разрешение доменного имени, не работающее в JAVA-приложениях над машиной Ubuntu64 9.04. Все другое программное обеспечение разрешает DNS правильно

Пробелы между Вашим <li> элементы происходят из-за пробелов и возвратов каретки между ними, из-за встроенного стиля. Если Вы пишете:

<li><a href="one.html">One</a></li><li><a href="two.html">Two</a></li><li><a href="three.html">Three</a></li><li><a href="four.html">Four</a></li><li><a href="five.html">Five</a></li>

Вы не будете видеть больше пространства между ними.

я не уверен, отобразится ли встроенный блок приятно на IE6, таким образом, можно будет захотеть попробовать подход плавающий.

16
задан komma8.komma1 22 October 2009 в 18:19
поделиться

1 ответ

Once again, thanks to the guidance of the people here, I've found an answer. The Java program above works when I do the following:

java -Djava.net.preferIPv4Stack=true DomainResolutionTest

Details:

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

It turns out that there is a bug in the IPv6 stack. There are a couple of posts that led me to this conclusion:

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

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

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

I sure hope I don't have to add the IPv4 crap in every time I run a Java app. The final solution may be in the second link - a missing package. We shall see.

Debian Bug report logs - #477211 ia32-sun-java6-bin: Needs to depend on lib32nss-mdns ... Cannot resolve domain names. Resolve fine on the rest of the system, have not tested with other JDK's. Installed from package and set with update-java-alternatives.

DNS работает для всего остального на моем система. Работает на Debian 2.6.23-AMD64. Пробовали как пакеты Lenny, так и пакеты Sid. Работает как ожидается с sun-java6-bin, не работает с ia32-sun-java6-bin. Арг. ... Если вы нажмете Java с помощью strace, вы увидите что он пытается использовать libnss_mdns4_minimal.so.2, который доступно в пакете lib32nss-mdns. Вам следует добавить зависимость от этого, чтобы исправить ошибку.

То же самое происходит с sun-java6-bin - Здесь используется libnss-mdns.

Пакет действительно отсутствует на моей машине:

jgreenwood@jeg-ubuntu64:~$ dpkg -L lib32nss-mdns
Package `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.

В любом случае, я надеюсь, что этот пост поможет кому-то другому, потому что это был основной PITA, который нужно было выяснить.

24
ответ дан 30 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: