17

アプリケーションで 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}

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

4

5 に答える 5

29

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

127.0.0.1    SUSEDesktop
::1          SUSEDesktop

SUSEDesktop をコンピュータのホスト名に置き換えます。次のコマンドで確認できます。 uname -n

于 2014-11-17T19:37:24.797 に答える
5

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 行を/private/etc/hostsMac のファイルに追加すると、問題は解決しました。ネットワーク インターフェイスの「再起動」は必要ありませんでした。

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

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

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

いずれにせよ、ping を実行できるとすぐに(明らかに pingまたはXXXXXXX-221227.this.that.foo.otherと同じです)、Spring Boot アプリが (Spring Tools Suite UI から) 問題なく開始されました。localhost127.0.0.1

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

 mvn spring-boot:run 

-- 何が違うのか、何が違いなのかわかりません。

于 2015-10-08T16:50:08.440 に答える