如何使用默认设置清除Glassfish 4.0的地址



当我试图用netbeans IDE 7.3.1的默认设置启动我的glassfish服务器时,我得到了以下错误:

java.net.BindException: Address already in use: bind

详细信息:http://ideone.com/wKbat3

我能做什么?如何清除玻璃鱼的地址?如何将glassfish设置为使用其他地址?在这种情况下,"地址"是什么意思?

主要原因是另一台服务器正在使用端口8080,也就是默认的端口(在命令行netstat-a-o中检查窗口中是否使用了这些端口)

您需要将其更改为:

/glassfish/domains/domain1/config/domain.xml

更改:name="http-listener-1" **port="8080"** name="http-listener-2" **port="8181"**

收件人:name="http-listener-1" **port="9090"** name="http-listener-2" **port="9191"**

然后,从您的框架(例如Eclipse)中删除服务器,关闭它,启动它,然后再次添加Glashfish。

在启动框架之前,请确保没有这样的文件:/glassfish/domains/domain1/osgi-cache/felix/*.lock

如果它存在,删除它,你可以停止任何Java进程来删除它

这些步骤对我很有效。

似乎另一台服务器正在使用分配给您的glassfish服务器的一个端口。

在我的情况下,我得到了异常SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"] java.net.BindException: Address already in use: JVM_Bind <null>:8009

它原来是一个被遗忘的Tomcat实例,已经在我的电脑上运行了。当我禁用被遗忘的实例时,异常消失了。

因此,在您的情况下,其他服务器正在占用您的glassfish服务器使用的端口。找到它是哪台服务器并停止它,或者为你的glassfish服务器分配一个不同的端口。

如果您在windows上,您可以使用netstat -a -o命令,并查看进程是否使用端口号:

有关如何查找在特定端口上运行的进程的更多信息,请参阅本指南

看看/glassfish/domains/domain1/config/domain.xml,你会发现一个类似的部分

<network-listeners>
              <network-listener name="http-listener-1" port="8080" protocol="http-listener-1" thread-pool="http-thread-pool" transport="tcp"/>
              <network-listener name="http-listener-2" port="8181" protocol="http-listener-2" thread-pool="http-thread-pool" transport="tcp"/>
              <network-listener name="admin-listener" port="4848" protocol="admin-listener" thread-pool="admin-thread-pool" transport="tcp"/>
</network-listeners>

这些应该是glassfish需要打开的端口。在我的情况下,由于端口8181已经被另一个进程使用,我遇到了同样的错误。我把端口改为8187,一切都很好。否则,您应该在启动glassfish之前找到(如果您在windows上,则为netstat-a-b)并停止使用这些端口的进程。

相关内容

  • 没有找到相关文章

最新更新