我使用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?为什么他们在这个用户帐户上运行,而不是在我创建的新用户帐户上运行?谢谢!
答案 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
然后重新启动系统。