GlassFish因为“端口冲突”无法启动但没有使用该端口 - GlassFish有什么问题?

时间:2011-09-01 20:54:11

标签: unix glassfish port macos

我使用Eclipse和GlassFish 3.1在Mac(Lion)上开发。 GlassFish使用端口8080和4848.突然,当我尝试启动GlassFish时,它告诉我它不能,因为存在端口冲突。

据我所知,没有任何东西在使用该端口。我关闭所有内容并重新启动Mac,并在运行GlassFish时仍然出现相同的错误。我卸载了GlassFish,删除了所有目录,重新启动了我的机器,重新安装了GlassFish和同样的问题。

我在Mac上创建了一个新的测试用户,以我身份登出,以他身份登录,在该用户帐户下安装GlassFish,并在那里运行良好。

就像我的用户帐户中有一些东西让我的Mac或GlassFish认为该端口正在使用。

有谁知道如何解决这个问题?我讨厌在Mac上创建一个新帐户并将所有数据传输到那里的想法。似乎是一个过度的解决方案。

有什么想法吗?

罗布

更新:做一个“lsof -i:8080”告诉我这个:

$ lsof -i :8080
COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd   158 stephen    8u  IPv4 0xffffff8014945fa0      0t0  TCP *:http-alt (LISTEN)
launchd   158 stephen   10u  IPv6 0xffffff8014941240      0t0  TCP *:http-alt (LISTEN)
printerAg 232 stephen    5u  IPv4 0xffffff8014945fa0      0t0  TCP *:http-alt (LISTEN)
printerAg 232 stephen    6u  IPv6 0xffffff8014941240      0t0  TCP *:http-alt (LISTEN)

我猜这意味着端口8080上有什么东西?如果是这样,什么是launchd和printerAg?为什么他们在这个用户帐户上运行,而不是在我创建的新用户帐户上运行?谢谢!

2 个答案:

答案 0 :(得分:1)

检查谁在使用该端口:

lsof -i :8080 -i :4848

答案 1 :(得分:1)

您还可以通过以下命令将HP打印机的端口从8080更改为18089:

sudo sed -i "" -e "s|8080|18089|g" ~/Library/LaunchAgents/com.hp.printerAgent.plist

然后重新启动系统。