无法启动GlassFish 4.0(Windows) – 端口1527 – 地址已被使用

我是Java EE 7中的新手。

我有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端口发生了什么事,端口处于LISTENING模式。

那么怎样才能知道1527端口的应用程序或stream程呢?

谢谢你的帮助 !!

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

 netstat -ano | find "1527" 

这将显示一个与端口和进程的标识符一行。 例如:

 TCP 127.0.0.1:1527 0.0.0.0:0 LISTENING 2268 

一旦你有进程ID(例如2268 ),运行以下命令来释放该端口(这将终止该进程):

 taskkill /F /PID 2268 

现在,尝试启动Glassfish。


注意

1如果您想知道关联的程序,请参阅如何找出使用某个端口的服务?

如果上述不适用于任何人请按照下面的步骤..当然,这将工作..

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

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

  3. 找到“8080”(下面突出显示为您的参考)

    网络监听器端口=“ 8080 ”协议=“http-listener-1”传输=“tcp”名称=“http-listener-1”线程池=“HTTP线程池” 在这里输入图像说明

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

  5. 现在运行你的项目

运行该项目后,请注意URL

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

要打开端口,请按照以下步骤操作

  1. 打开cmd.exe

  2. 执行cmd“netstat -ano”

选择你找到的任何一个是免费的(就像上面的绿色框内) 在这里输入图像说明

这不是你需要担心的错误。 当您启动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上)。