Ich entwickle auf Mac (Lion) mit Eclipse und GlassFish 3.1. GlassFish verwendet die Ports 8080 und 4848. Beim Versuch, GlassFish zu starten, wird mir plötzlich mitgeteilt, dass dies nicht möglich ist, da ein Portkonflikt vorliegt.
Soweit ich das beurteilen kann, wird dieser Port von nichts benutzt. Ich habe alles heruntergefahren und den Mac neu gestartet und erhalte immer noch den gleichen Fehler, als ich GlassFish ausgeführt habe. Ich habe GlassFish deinstalliert, alle Verzeichnisse gelöscht, meinen Computer neu gestartet, GlassFish neu installiert und das gleiche Problem.
Ich habe einen neuen Testbenutzer auf meinem Mac erstellt, mich als ich abgemeldet, mich als er angemeldet, GlassFish unter diesem Benutzerkonto installiert und es läuft dort einwandfrei.
Es ist so, als ob mein Benutzerkonto etwas enthält, das meinen Mac oder GlassFish den Eindruck erweckt, dass der Port belegt ist.
Weiß jemand, wie ich dieses Problem lösen könnte? Ich hasse die Idee, ein neues Konto auf meinem Mac zu erstellen und alle meine Daten dorthin zu übertragen. Scheint wie eine übermäßige Lösung.
Antworten:
NMAP enthält eine Liste der offenen Ports und Programme, die diese derzeit verwenden. Tatsächlich handelt es sich um ein leistungsstarkes Netzwerk-Tool, das eine Vielzahl von Netzwerkwartungsaufgaben ausführen kann.
Sie können hier mehr darüber lesen: http://nmap.org/book/inst-macosx.html
Es ist ein kleines Befehlszeilendienstprogramm (obwohl GUI-Frontends verfügbar sind), das recht einfach zu verwenden ist und Ihnen eine detaillierte Ansicht Ihres aktuellen Netzwerkstatus geben sollte.
quelle
Sie können verwenden
lsof -i TCP:8080
. Ich denke, das einzige Problem ist, dass es herausfinden wird, dass Java diesen Port verwendet. Wenn Sie diesen Java-Prozess beenden, können Sie Glassfish immer noch nicht starten.Meine Lösung besteht darin, alle Domänen im glassfish-Verzeichnis zu löschen, dann den Glassfish-Server zu löschen und eine neue mit einer neuen Domäne zu installieren.
Für mich ist es ein Domainproblem.
quelle
netstat -nap würde auch funktionieren. Wenn der Prozess nicht Ihr eigener ist, müssen Sie sudo verwenden. Es werden alle offenen Ports mit ihrem Status und der PID des Besitzprozesses aufgelistet.
So etwas wie:
quelle