Vraag Oplossing voor "java.net.BindException: Adres al in gebruik" -fout?


Ik gebruik Intellij en probeer een Tomcat-toepassing te implementeren, maar telkens wanneer ik het probeer uit te voeren, krijg ik de volgende foutmelding:

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1098; nested exception is: 
java.net.BindException: Address already in use

Nu heb ik handmatig gezocht naar het proces in die haven via:

lsof -i:1098

En ik vond het Java-proces en doodde het ook:

ps aux | grep java

kill -9 20386

En dat werkte, maar ik moet dit doen IEDEREEN Ik open Intellij. Als ik de server opnieuw wil uitvoeren zonder Intellij te verlaten, kan dat niet, omdat ik deze fout krijg. Weet iemand van een permanente oplossing hiervoor en niet alleen het handmatig doden ervan?


14
2018-06-06 19:03


oorsprong


antwoorden:


Dit komt doordat JMX het Tomcat-exemplaar bewaakt. Tomcat wordt uitgevoerd op poort 9999, dus wanneer JMX wil beginnen met het controleren op de afsluiting, kan het niet aan deze poort binden.

Een manier om dit te verhelpen is om uw omgevingsvariabele CATALINA_OPTS te definiëren.

Het instellen van deze eigenschappen in JAVA_OPTS probeert een jmx-server te starten wanneer u tomcat EN start en tomcat afsluit. Daarom is de poort al in gebruik uitzondering. U moet deze eigenschappen instellen voor CATALINA_OPTS in plaats van JAVA_OPTS. Dit wordt alleen uitgevoerd wanneer u tomcat start.

CATALINA_OPTS = "$ CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8999" CATALINA_OPTS = "$ CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false"

Wat het voor mij oplost is in $ HOME / .bashrc ik voeg deze export toe:

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999"

Credit: https://bowerstudios.com/node/636


9
2018-01-20 17:52



enter image description hereKlik op het pictogram van de schedel na het stoppen van de server om alle bijbehorende processen te beëindigen. Dit zou moeten helpen bij het oplossen van het poortprobleem.


2
2018-06-06 19:37



Ik vond deze vragen vaak in Tomcat.

错误: 代理 抛出 异常: java.rmi.server.ExportException: Port al in gebruik: 912 3; geneste uitzondering is: java.net.BindException: adres dat al in gebruik is

In kater [cc @ Cdf bin] $ vim catalina.sh verander de 9123 in een inactief nummer, bijvoorbeeld 8998. en dan , [cc @ Cdf bin] $ ./start.sh;tailf ../logs/catalina.out


0
2017-07-12 02:09



Ik kwam dit probleem tegen, ik heb mijn vorige draaiende app op dezelfde poort niet vermoord. Ik heb het net gedood met kill -9 PID en het ging goed.


-3
2017-07-15 01:11