kann GlassFish nicht ausführen, da Port 8080 verwendet wird; aber wie findet man es?

0

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.

Robert Hume
quelle
Wenn nmap nichts gibt versuchen, den Hafen telneting
Mark

Antworten:

1

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
Hi cksum. Danke für die Hilfe. Ich habe ein bisschen weniger / etc / services gemacht und soweit ich das beurteilen kann, läuft nichts, was diesen Port benutzt. Ich habe keine Ahnung, warum GlassFish einen Portkonflikt entfernt.
Robert Hume
2
Ich schlage vor, dass Sie nmap ausführen. Es wird nicht nach Diensten gesucht, die gerade ausgeführt werden, sondern es werden die Ports selbst untersucht und Informationen zu deren Verwendung bereitgestellt. lsof ist nicht wirklich das beste Dienstprogramm für diesen Job. Alternativ können Sie Network Utility (im Ordner Utilities) starten und Nestat ausführen. Das sollte Ihnen einen besseren Überblick über Ihren Netzwerkstatus geben.
0

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.

Jonas
quelle
"Das einzige Problem, von dem ich denke, dass es herausfinden wird, dass Java diesen Port verwendet. Und wenn Sie diesen Java-Prozess beenden, können Sie Glassfish immer noch nicht starten." ... warum sollte das so sein?
Peter Štibraný
0

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:

sudo netstat -nap | grep 8080
Alex
quelle