Glassfish服务器启动域domain1不会启动

时间:2014-05-23 11:18:18

标签: java glassfish

我最近下载了Glassfish 4.0,我想在NetBeans中使用它来制作一些Web应用程序,但是当我想启动domain1(asadmin> start-domain domain1)时,我不断收到此错误:“有已经使用管理端口4848的进程 - 它可能是GlassFish服务器的另一个实例“。有什么可能是问题的线索?

6 个答案:

答案 0 :(得分:27)

Glassfish无法解析主机名。诊断问题(在Linux上)如下:

  1. 打开终端。
  2. 输入hostname
  3. 输入:ping $(hostname)
  4. 如果ping命令失败(找不到主机),则将主机名添加到/etc/hosts。这可以通过以下方式实现:

    1. 切换到root:sudo su -
    2. 输入:echo "127.0.0.1 $(hostname)" >> /etc/hosts
    3. 杀死GlassFish
    4. 重新启动GlassFish

答案 1 :(得分:5)

您的系统使用端口4848就是这个原因。 当glassfish启动时,需要三个端口号,一个用于管理,一个用于http应用,另一个用于https。

所以你的系统4848已经被一些程序或服务器保留了。

或者您可以根据需要更改默认端口号,如下所示。 在命令提示符下输入。

将HTTP端口更改为10080:

  • asadmin set server.http-service.http-listener.http-listener-1.port=10080

将HTTPS端口更改为10443:

  • asadmin set server.http-service.http-listener.http-listener-2.port=10443

将管理服务器端口更改为14848:

  • asadmin set server.http-service.http-listener.admin-listener.port=14848

答案 2 :(得分:4)

在终端上试用lsof -i:4848

Imgur

使用命令kill -9 <PID>杀死列出的java进程。

如果您有一个GUI任务管理器,比如OSX上的Activity Monitor,那么您可以杀死那里列出的java进程。

希望这适用于任何面临此问题的人。

答案 3 :(得分:1)

做一个

  

netstat -aon

从命令行

并检查哪个进程正在使用您的端口。 如果它不重要,请将其作为一种快速的解决方案。

答案 4 :(得分:1)

1-转到您域内的 config 文件夹。 (在我的例子中:C:\ Glassfish \ glassfish \ domains \ mydomain \ config \)

2 - 打开文件域

3 - 更新这三行的端口号: enter image description here

4 - 重新启动您的域名:

- 注  要重新启动域:

1-open cmd console

2 - 浏览您的域名

3-Execute:asadmin restart-domain mydomain

- 我希望它有所帮助: - )

答案 5 :(得分:1)

解决方案可以是这样的: 在控制台类型:

echo $HOSTNAME

然后确保输出遵循

中的127.0.0.1字符串
/etc/hosts

例如:

127.0.0.1 dev.myserv.pl