web-dev-qa-db-ja.com

ホスト名がすべて数値に設定されている場合、JMXエージェントはJava.net.MalformedURLExceptionをスローします

アプリケーションではTomcat 7.0.27を使用しています。 Tomcatの起動時にjmxプロパティを設定します。

-Dcom.Sun.management.jmxremote -Dcom.Sun.management.jmxremote.port = 8666 -Dcom.Sun.management.jmxremote.ssl = false -Dcom.Sun.management.jmxremote.authenticate = false

このTomcatが実行されているcentOSサーバーのホスト名が005056940096のようなすべての数値に設定されている場合、Tomcatは起動しません。以下の例外があります。

エラー:エージェントによってスローされた例外:Java.net.MalformedURLException:ローカルホスト名不明:Java.net.UnknownHostException:005056940096:005056940096サーバーはcentOS6で実行されています。ホスト名が数値以外の値に設定されている場合、正しく機能します。

/ etc/hostsおよび/ etc/sysconfig/networkにホスト名を設定しようとしましたが、それでも機能しません。以下のプロパティをサーバーのIPアドレスに設定しようとしましたが、まだ機能しません。 -Djava.rmi.server.hostname = $ {IP}

このような問題が発生した場合はお知らせください。ありがとう。

14
user3012665

私も同じ問題を抱えていましたが、次のことがわかりました。
理由は、TomcatがIPにバインドしようとするため、ローカルホストではなくホスト名を使用するためです。
私の場合:SUSEDesktop。そのため、/ etc/hostsにhostsエントリを追加する必要がありました。

127.0.0.1    SUSEDesktop
::1          SUSEDesktop

SUSEDesktopをコンピューターのホスト名に置き換えます。次のようにして見つけることができます:uname -n

26
laserbeamer

echo "127.0.0.1 $ HOSTNAME" | Sudo tee -a/etc/hosts

15
Steve Jiang

私は同じ問題を抱えていましたが、/etc/hostsに「ローカル」または「ローカル」を追加することで最終的に解決しました_127.0.0.1 localhost Local localのようなもの

5
Ramin Mir.

MacのSpring Tools SuiteからSpring-Bootアプリを起動するときに同様の問題がありました。これは、GithubにないSOLRのSpring MVC/Spring Bootサンプルからのダウンロードでした。

エラーは次のようなものでした:Java.net.MalformedURLException: Local Host name unknown: Java.net.UnknownHostException:XXXXXXX-221227.this.that.foo.other

この2行をMacの/private/etc/hostsファイルに追加することで、問題はなくなりました。ネットワークインターフェイスの「再起動」は必要ありませんでした。

127.0.0.1       XXXXXXX-221227.this.that.foo.other

::1             XXXXXXX-221227.this.that.foo.other

これは、Tomcatと数値の名前に関する上記の問題に関連していたと思います...私のコンピューター名(会社から提供)には数字が含まれていたためです。

いずれの場合でも、XXXXXXX-221227.this.that.foo.otherにpingできるとすぐに(明らかにlocalhostまたは127.0.0.1にpingしたときと同じ)、Spring Bootアプリが(Spring Tools Suite UIから)問題。

奇妙なことに、Spring Bootアプリは次のコマンドラインからFINEを開始しました。

 mvn spring-boot:run 

-私は違いが何であるか/何であったかわかりません。

5
jb62

CLIを介したホスト名の更新後に同じ問題が発生しましたが、/etc/hostsには反映されませんでした。/etc/hostsの古いホスト名をsedに置き換えることで解決しました:

sed -i 's/<old_name>/<new_name>/' /etc/Host
0
Brom558