我最近下载了Glassfish 4.0,我想在NetBeans中使用它来制作一些Web应用程序,但是当我想启动domain1(asadmin> start-domain domain1)时,我不断收到此错误:“有已经使用管理端口4848的进程 - 它可能是GlassFish服务器的另一个实例“。有什么可能是问题的线索?
答案 0 :(得分:27)
Glassfish无法解析主机名。诊断问题(在Linux上)如下:
hostname
。ping $(hostname)
如果ping命令失败(找不到主机),则将主机名添加到/etc/hosts
。这可以通过以下方式实现:
sudo su -
echo "127.0.0.1 $(hostname)" >> /etc/hosts
答案 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
。
使用命令kill -9 <PID>
杀死列出的java进程。
如果您有一个GUI任务管理器,比如OSX上的Activity Monitor,那么您可以杀死那里列出的java
进程。
希望这适用于任何面临此问题的人。
答案 3 :(得分:1)
做一个
从命令行netstat -aon
并检查哪个进程正在使用您的端口。 如果它不重要,请将其作为一种快速的解决方案。
答案 4 :(得分:1)
1-转到您域内的 config 文件夹。 (在我的例子中:C:\ Glassfish \ glassfish \ domains \ mydomain \ config \)
2 - 打开文件域
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