登録した後 デフォルトのJava DNSプロバイダとしてのdnsjava 問題があります。 Linuxマシンの/ etc / hostsファイルに記述されているローカルアドレスを解決できません。このファイルは次のようになります。
127.0.0.1 localhost
127.0.1.1 servername
だから私はそのような名前のいずれかを解決しようとするとUnknownHostExceptionが発生します:
org.xbill.DNS.Address.getByName("localhost");
org.xbill.DNS.Address.getByName("servername");
dnsjavaを使用している場合は「問題ありません」デフォルトのDNSプロバイダと一緒に。唯一のプロバイダであるため、dnsjavaはデフォルトライブラリに多くのエラーを引き起こします。これはlocalhost解決機能に大きく依存していることがわかります。それで、問題は、ローカルホスト名を解決するためにdnsjavaの動作をどのように変更するかです。
編集する。 次のコードはうまくいきます:
java.net.InetAddress.getByName("localhost");
しかし java.net.InetAddress.getLocalHost() メソッドはスローします:
java.net.UnknownHostException: servername
回答:
回答№1は1dnsjava
DNSクライアントライブラリです。それはDNSサーバーと話します。 /etc/hosts
DNSプロトコルの一部でもないし dnsjava
それについて何か知っている。
この古い投稿を書いた人のdnsjava usersメーリングリストで見てください。 http://old.nabble.com/DNS-Resolve-from-hosts-file-first-then-DNS-Server-td15431381.html
その点では何も変わっていません。
もし java.net.InetAddress.getByName()
正常に動作している場合は、DNSサーバーは localhost
.