2013-11-20 18 views
9

我们在我们的应用程序中使用了tomcat 7.0.27。我们下面在tomcat启动时设置jmx属性。当主机名设置为所有数值时,JMX代理将引发java.net.MalformedURLException

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8666 -Dcom.sun.management.jmxremote.ssl =假-Dcom.sun.management.jmxremote.authenticate =假

如果运行此tomcat的centOS服务器主机名设置为所有数值(如005056940096),则tomcat不会启动。它给出了以下例外。

错误:代理抛出的异常:java.net.MalformedURLException:本地主机名称unknown:java.net.UnknownHostException:005056940096:005056940096 服务器在centOS6上运行。如果主机名设置为非数字值,则它可以正常工作。

我尝试在/ etc/hosts和/ etc/sysconfig/network中设置主机名,它仍然不起作用。 我也尝试将属性设置为服务器IP地址,但它仍然不起作用。 -Djava.rmi.server.hostname = $ {IP}

请让我知道你是否遇到过这样的问题。 谢谢。

回答

5

我有同样的问题,最后加入“本地”或“本地”解决了/etc/hosts 喜欢的东西127.0.0.1 localhost Local local

22

我也有同样的问题,但是我发现:
的原因是tomcat的尝试绑定到一个IP,所以它不使用本地主机,但你的主机名。
在我的情况:SUSEDesktop。 所以我不得不添加主机条目/ etc/hosts文件:

127.0.0.1 SUSEDesktop 
::1   SUSEDesktop 

与您的计算机的主机名替换SUSEDesktop,你可以找到它具有: uname -n

+0

此答案适合我!就我而言,我只在家庭网络上遇到问题。在工作中,DNS服务器可以解析我的主机名,以便Tomcat运行得很好。在家里,DNS服务器无法解析我的主机名,因此必须输入HOSTS文件。 – bischoje

12

回声“127.0.0.1 $ HOSTNAME“| sudo tee -a /etc/host

3

我有一个类似的问题,从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

通过添加这两条线的/private/etc/hosts文件我的Mac上的问题就走了。没有“重新启动”网络接口是必要的。

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

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

我认为这是有关使用Tomcat上述问题和数字的名字......我的计算机名(由公司提供)在它有数字。

在任何情况下,只要我能ping通XXXXXXX-221227.this.that.foo.other(显然现在一样查验localhost127.0.0.1),没有问题的春天启动的应用程序开始(从春季工具套件UI)。

奇怪的是,春季启动应用程序的命令行配合FINE开始:

mvn spring-boot:run 

- 我不知道的区别是什么/是。

+0

升级到macOS Sierra 10.12后,我无法启动Tomcat。这解决了我的问题。谢谢。 –

相关问题