提问者:小点点

无法启动GlassFish 4.0 (Windows) -端口1527 -地址已在使用中


我是EE 7Java新手。

我有Netbeans 7.4和GlassFish 4.0以及Java EE 7。在64位Windows 8.1 Pro机器中。我想启动GlassFish 4.0服务器,所以我在Netbeans中单击了“服务”选项卡,然后在“服务器”选项中右键单击了GlassFish Server 4.0,然后单击了“启动”。

当我这样做时,我得到了以下消息:“无法启动GlassFish Server 4.0: HTTP或HTTPS侦听器端口被占用,而服务器没有运行”。我也有IIS服务器,但我停止了它。停止IIS后,我试图再次启动GlassFish,但它显示相同的消息。

Netbeans中还有一个名为Output - Java DB Database Process的窗口,它向我显示了以下内容:

Tue May 06 22:03:11 GMT-05:00 2014 : Security manager installed using the Basic server security policy.
Tue May 06 22:03:11 GMT-05:00 2014 Thread[main,5,main] java.io.FileNotFoundException: D:\Users\Juan Jose\.netbeans-derby\derby.log (Access is denied)
Tue May 06 22:03:12 GMT-05:00 2014 : Could not listen on port 1527 on host localhost:
 java.net.BindException: Address already in use: JVM_Bind
Tue May 06 22:03:12 GMT-05:00 2014 : Could not listen on port 1527 on host localhost:
 java.net.BindException: Address already in use: JVM_Bind

我在 Windows 中运行了一个 netstat -a 以查看 1527 端口发生了什么,并且该端口处于侦听模式。

那么,我如何知道哪个应用程序或进程正在占用1527端口呢?

感谢您的帮助!


共3个答案

匿名用户

要查找保持繁忙端口的进程< sup>1,请尝试以下命令:

netstat -ano | find "1527"

这将显示带有端口和进程标识符的行。例如。:

TCP    127.0.0.1:1527         0.0.0.0:0              LISTENING       2268

一旦您有了进程ID(例如<code>2268</code>),请运行以下命令以释放端口(这将终止进程):

taskkill /F /PID 2268

现在,尝试启动Glassfish。

关于Linux:

lsof -Pnl +M -i6 | grep 1527

产生:

java    31139     1001   32u  IPv6 114916062      0t0  TCP 127.0.0.1:1527 (LISTEN)

被杀死:

kill -9 31139

<sup>1</sup>如果您想了解相关程序,请参阅如何查找使用某个端口的服务?

匿名用户

如果上述方法不适用于任何人,请遵循以下步骤。。

>

  • 转到C:\Program Files\glassfes-4.1\glassfes\Domain\Domain1\config

    在xml编辑器中打开“域.xml”,或者您可以使用记事本

    找到“8080”(下面突出显示,供您参考)

    将“8080”替换为任何开放端口。如果您不知道如何找到开放端口,请尝试使用端口号“3702”,然后保存您的文件

    现在运行您的项目

    运行项目后,请注意网址

    http://localhost:8080/......应该是http://localhost:3702/.....

    要打开端口,请遵循以下步骤

    >

  • 打开cmd.exe

    执行cmd“netstat-ano”

  • 匿名用户

    这不是一个你需要担心的错误。当你启动Glass的时候,NetBeans也会启动JavaDB(又名Derby)数据库,默认在1527端口上监听。当你关闭NetBeans的时候,它会关闭Glass变迁,但不会关闭JavaDB。因此,当你第二次启动NetBeans的时候,NetBeans会再次尝试启动JavaDB并失败,因为它已经在1527端口上运行和监听了。

    要关闭数据库,您可以使用NetBeans服务(选项卡)-