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

时间:2014-05-07 15:16:12

标签: java windows java-ee glassfish netbeans-7

我是Java EE 7中的新手。

我有一台带有GlassFish 4.0和Java EE 7的Netbeans 7.4。在一台64位Windows 8.1 Pro机器上。我想启动GlassFish 4.0 Server,所以我点击Netbeans中的服务选项卡,然后在Servers选项中右键单击GlassFish Server 4.0,然后单击Start。

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

Netbeans中还有一个名为输出 - Java DB数据库过程的窗口,它显示了以下内容:

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端口发生了什么,并且该端口处于LISTENING模式。

那么我怎么知道1527端口的应用程序或进程是什么?

感谢您的帮助!!

3 个答案:

答案 0 :(得分:16)

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

netstat -ano | find "1527"

这将显示一个包含端口和进程标识符的行。 e.g:

TCP    127.0.0.1:1527         0.0.0.0:0              LISTENING       2268

获得进程ID(例如2268)后,运行以下命令以释放端口(这将终止进程):

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

1 如果您想了解相关计划,请参阅How do I find out what service is using a certain port?

答案 1 :(得分:4)

如果上述内容对任何人都不起作用请按照以下步骤进行操作。当然可以正常工作..

  1. 转到 C:\ Program Files \ glassfish-4.1 \ glassfish \ domains \ domain1 \ config

  2. 在xml编辑器中打开“domain.xml”,或者你可以使用notepad ++

  3. 查找“8080”(以下突出显示供您参考)

      

    network-listener port =“ 8080 ”protocol =“http-listener-1”   transport =“tcp”name =“http-listener-1”thread-pool =“http-thread-pool”   enter image description here

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

  5. 现在运行您的项目

  6. 运行项目后,请关注URL

    http://localhost:8080/ ...... http://localhost:3702/ .....

    要获得开放端口,请按照以下步骤进行操作

    1. 打开cmd.exe

    2. 执行cmd“netstat -ano”

    3. 选择您发现的任何免费的(如上面的绿色框内) enter image description here

答案 2 :(得分:3)

这不是您需要担心的错误。当您启动GlassFish时,NetBeans还将启动JavaDB(aka,Derby)数据库,该数据库默认侦听端口1527。当您关闭NetBeans时,它将关闭GlassFish但不会关闭JavaDB。因此,当您第二次启动NetBeans时,NetBeans将再次尝试启动JavaDB并因为它已在1527端口上运行和侦听而失败。

要关闭数据库,可以使用NetBeans服务(选项卡) - >数据库 - > JavaDB(右键单击 - >停止服务器。要从命令行关闭,请使用$ NETBEANS_HOME / glassfish-4.0 / javadb / bin / stopNetworkServer,其中$ NETBEANS_HOME是安装NetBeans的顶级目录(至少在Mac / Linux / Unix上)。