【问题标题】:Cannot start GlassFish 4.1 from within Netbeans 8.0.1 Service area无法从 Netbeans 8.0.1 服务区内启动 GlassFish 4.1
【发布时间】:2014-11-18 05:10:45
【问题描述】:

在 Windows 7 上,我从该站点 https://netbeans.org/downloads/ 下载了“netbeans-8.0.1-javaee-windows.exe”安装程序。安装程序会安装 GlassFish 4.1、Java 1.8.0_20 和 NetBeans 8.01。安装后,每当我尝试从 NetBeans 服务区域内启动 GlassFish 服务器时,都会收到以下错误:

无法启动 GlassFish Server 4.1:HTTP 或 HTTPS 侦听器端口在服务器未运行时被占用

所以我用了

netstat -ano | find "1527"

找出哪个进程持有此端口,并且看起来是刚刚由 GlassFish 进程启动的 Java Derby 数据库本身。因此,Glassfish 初创公司正在抱怨自己造成的一些事情。奇怪的。我不知道该怎么办。有人知道吗?

已经谢谢了。

【问题讨论】:

    标签: java netbeans glassfish


    【解决方案1】:

    您的描述有点奇怪,因为如果 1527 端口被占用,GlassFish 服务器甚至可以启动,因为 Java Derby 数据库是一个单独的 Java 进程。因此,一种选择可能是在真正的 GlassFish 服务器确实正确启动的情况下忽略该消息(NetBeans 在不同的选项卡中显示 GlassFish 服务器和 Derby 服务器的输出)。

    尽管如此,您可以尝试禁用为您的 GlassFish 实例启动已注册的 Derby 服务器。

    确保 Derby 服务器已关闭,如果您关闭了 NetBeans,它甚至可以运行。如果您不确定通过任务管理器杀死所有 java 进程并重新启动 NetBeans。

    Services 选项卡中右键单击 GlassFish 实例,然后选择 Properties

    如果真正的问题是端口 8080 或 443(如果您激活了 HTTPS 侦听器)正在使用(这确实会阻止 GlassFish 启动),您必须找出哪个应用程序正在使用此端口(可能是 Tomcat 或类似的东西)并关闭它。

    错误信息

    '无法启动 GlassFish Server 4.1:HTTP 或 HTTPS 侦听器端口为 在服务器未运行时被占用'

    只是在这个方向多一点点...

    【讨论】:

    • 亲爱的 unwichtich 你是对的:它与 Derby 服务器无关。取消选中 Glassfish 属性中的框不是解决方案。检查端口 8080 是。因为我是 LabView 用户,所以我的 PC 上运行着 National Instruments 的东西。其中一件事是 National 的 ApplicationServer 锁定了端口 8080 ......所以你的提示做到了。想知道为什么我专注于 1527 端口,也许是因为我是一个完整的 Glassfish 新手。
    • 谢谢,看了你的回答,我知道我的8080端口是用于Tomcat服务器的。非常感谢
    • @DominiqueBijnens 谢谢。我有同样的问题。为了找到该服务,我使用 [stackoverflow.com/a/25096959/2278538] 评论找到该服务以便我可以停止它。
    【解决方案2】:

    我也有同样的问题。我的是由 vmware 安装引起的。它是 Windows 7 上的 vmware badation v8,是默认安装。

    运行 netstat -aon |找到 ":80" |从 cmd 中找到“LISTENING”显示导致问题的服务的 PID,这与 vmware 有关。转到服务,我手动停止了所有正在运行的 vmware 服务(没有更改它们的启动类型,只是手动停止 - 我希望它们在下次重新启动后再次工作) 我可以立即测试我的 web 服务,glassfish 4 正常启动。

    希望对你有帮助

    【讨论】:

    • 非常感谢!就我而言,问题出在 Skype 上。你输入的命令解决了我的问题。
    • 找到 PID 后(使用上述方法),您也可以启动“任务管理器”(ctrl+alt+delete)转到“服务”选项卡并单击列名“PID”(这将按 PID 重新排序表中的行)找到具有 netstat 显示的 PID 的进程。在该行上单击鼠标右键并选择“停止服务”。
    • @James 我尝试了你的建议:“netstat ...”,它返回:“TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4988”知道这意味着什么吗?
    【解决方案3】:

    当我在同一台机器上运行 Oracle XE 实例时,我遇到了同样的错误。 由于我的数据库是 Oracle,我更喜欢更改 Glassfish 的默认端口:

    1. 在 Glassfish 安装文件夹中找到 domain.xml。
    2. 更改以下行中的端口:

      <network-listener port="9090" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
            

    【讨论】:

    • 执行上述步骤,移除现有 GlassFish Server 并添加新的相同端口
    【解决方案4】:

    我找到了一种更简单的方法来解决这个烦人的问题。 在第一次不设置用户/密码的情况下注册 GlassFish Server。 然后右键单击 GlassFish,然后查看域管理控制台。在出现的 Glassfish 管理页面上,您将在 GlassFish 控制台 - 常见任务的 Administration 下看到 Change Administrator Password 单击以设置您的密码通过更改默认密码。用户是管理员,但密码由您决定。保存更改。返回 Netbeans,您将立即看到一个弹出屏幕,要求您输入管理员凭据。输入 admin 作为用户名和密码。这就对了。如果您的 Netbeans 带有 Glassfish,只需右键单击服务器,然后查看域管理控制台,然后按照上面说明的其余步骤进行操作

    【讨论】:

      【解决方案5】:

      您可以通过更改 glassfish 的端口号轻松解决此问题。

      转到位于GlassFish_Server\glassfish\domains\domain1\config 下的glassfich 配置文件domain.xml

      打开此文件,然后更改以下行:

      <network-listener port="8080" protocol="http-listener-1" transport="tcp" 
      name="http-listener-1" thread-pool="http-thread-pool"></network-listener>  
      

      例如,将8080 替换为9090,然后保存文件并再次运行glassfish。 它应该很好用。

      【讨论】:

        【解决方案6】:

        我也有这个问题,是因为有一个应用程序正在监听 8080 端口。为了解决这个问题,我按照以下步骤操作:

        1. 打开 cmd.exe 然后输入

          netstat -aon |找到“:8080” |找到“听”

        2. 你会看到这样的结果

          TCP 0.0.0.0:8080 0.0.0.0:0 监听 1464

        3. 复制 PID“1464”。

        4. 打开任务管理器(Ctrl+Alt+del),进入详情标签,然后找到程序或服务 通过监听端口 8080 的 PID 然后停止或结束 过程。

        【讨论】:

          【解决方案7】:

          如果您使用带有 oracle xe 的 netbeans 7 及更高版本,请在 netbeans 上执行以下操作:

          1. 转到服务标签
          2. 在服务器下,移除 glassfish
          3. 添加回 glassfish 服务器
          4. 输入端口号9090进行http访问

          Glassfish 可以使用该端口(如果可用或创建一些随机端口号)

          【讨论】:

            【解决方案8】:

            是的,您可以通过更改 glassfish 的端口号来解决此错误,因为 WAMP SERVER 或 ORACLE 数据库软件使用端口号 8080,因此存在端口号冲突。

            1) 打开类似 C:\GlassFish_Server\glassfish\domains\domain1\config\domain.xml 的路径。

            2)在ctrl+F的帮助下找出8080端口号。 你会得到以下代码...

            <network-listener protocol="http-listener-1" port="8080" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp">
            

            3) 将该端口号从 8080 更改为 9090 或 1234 或任何你喜欢的..

            4) 保存它。打开 Netbeans IDE 转到 glassfish 服务器。

            5) 右键单击​​服务器 -> 选择刷新选项。

            6) 检查端口号。您只需右键单击服务器-> 属性即可给出。

            7) 启动 Glassfish 服务器。 是的,错误消失了......

            【讨论】:

              【解决方案9】:

              以下是绝对可行的步骤:

              1. 打开 CMD:从键盘按 Windows+R 或在 Windows 搜索中输入“cmd”
              2. 在 cmd 中键入以下内容:netstat -aon | find ":8080" | find "LISTENING"
              3. 见最后一栏:会有一些像 2816 或类似的数字。(与此不同)
              4. 现在打开任务管理器(键盘快捷键:Ctrl+Shift+Esc
              5. 其中,转到详细信息选项卡并在PID列下,搜索您在第3步中找到的数字
              6. 右键单击它并选择end process
              7. 现在愉快地转到 Netbeans 并运行您的程序

              注意:如果您是第一次在 Netbeans 中运行程序,则需要一些时间。因此,如果需要时间,请不要担心。

              【讨论】:

                【解决方案10】:

                你会得到这样的错误

                尝试以下步骤

                1.打开命令提示符(按Windows键并输入“cmd”并按Enter) 然后键入此命令,如图所示

                netstat -aon |找到“:8080” |找到“听”

                1. 现在打开任务管理器(按 Windows 键并键入“任务管理器”并按 Enter) 在那里,转到详细信息选项卡并在 PID 列下,搜索您在 cmd 中找到的数字

                1. 右键单击该程序并选择结束进程

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2016-11-06
                  • 2015-01-10
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-02-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多