/ / dnsjavaがLinuxマシン上の「localhost」を解決できない - java、linux、hosts、dnsjava

dnsjavaはLinuxマシンで "localhost"を解決できません - java、linux、hosts、dnsjava

登録した後 デフォルトの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は1

dnsjava 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.