java.net.BindException: Cannot assign requested address: JVM_Bind:8080解决办法
Jboss启动时报错,错误信息如下:
13:03:40,875 ERROR [Http11Protocol] Error initializing endpoint
java.net.BindException: Cannot assign requested address: JVM_Bind:8080
其实只要看java.net.BindException: Cannot assign requested address: JVM_Bind:8080
这个信息就可以了.
在公司启动的时候是好好,可是回到家中就不行了.
然后是在网络上找解决办法,找啊找,好多朋友说是因为端口被占用,可是我重新启动机器,把所有可以关掉的软件都关了,从资源管理器中把所有可以关掉的进程都关了,然后用netstat -nao查看所有的端口没有看到8080端口啊.(我用的是Windows操作系统),郁闷啊.偶然的网上找到一篇文章http://hi.baidu.com/higkoo/blog/item/2fc696248281c9348644f9eb.html
这个是用Linux操作系统的.但是给我的启发很大.
我找到jboss-4.2.2.GA-oa\server\default\deploy\jboss-web.deployer下面的server.xml文件,查看了一条内容如下
<Connector port="8080" address="${0.0.0.0}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
其中address="${0.0.0.0}"这一行很重要,我记得以前曾经改过它,是为了让Jboss对外开放,我的理解是,在公司的时候,本地电脑可以发现外围电脑的存在,所以Jboss可以跑起来,但是回到家中后,由于只有一台电脑,外网不存在,我指的外围是局域网内的其它电脑,由于Jboss发现不了其它电脑,所以设置对外的访问无效,导致启动不了.把0.0.0.0去掉,写成address="${}"就ok了.
当然,不同的环境可能会有不同的问题,但是这是一个思路,希望对有此问题的朋友有帮助.