由于“端口冲突”GlassFish无法启动,但没有使用该端口 - GlassFish出现了什么问题?

由于“端口冲突”GlassFish无法启动,但没有使用该端口 - GlassFish出现了什么问题?

问题描述:

我使用Eclipse和GlassFish 3.1在Mac(Lion)上开发。 GlassFish使用端口8080和4848.突然,当我尝试启动GlassFish时,它告诉我它不能,因为存在端口冲突。由于“端口冲突”GlassFish无法启动,但没有使用该端口 - GlassFish出现了什么问题?

据我所知,没有什么是使用该端口。我关闭一切并重新启动Mac,并且在运行GlassFish时仍然出现相同的错误。我卸载GlassFish,删除所有目录,重新启动我的机器,重新安装GlassFish和同样的问题。

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

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

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

任何想法?

罗布

UPDATE:做一个 “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是什么?他们为什么在这个用户帐户上运行,但不是在我创建的新用户帐户上运行?谢谢!

+0

您究竟是如何检查端口是否在使用? –

+0

我跑了一些我的UNIX知识渊博的同事建议的命令,但显然我没有正确执行。看到问题中的更新,似乎有什么。任何想法是什么? –

检查谁正在使用的端口:

lsof -i :8080 -i :4848 
+0

嗨罗布,冉命令,似乎有东西在运行(见我添加到问题的更新)。任何想法接下来我应该做什么? –

+0

launchd是主要的守护进程运行系统。您已安装了一些在8080上侦听的软件。请参阅http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html –

+0

看起来像我找到了它。该任务被称为“printerAg”,所以我卸载/删除了所有惠普和打印机相关的实用程序,它看起来像使用8080的任务现在消失了。谢谢! –

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

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

然后重新启动您的系统。