Errore di distribuzione: l’avvio di Tomcat non è riuscito, la porta del server 8080 è già in uso

Quando eseguo il mio progetto java usando netbeans ottengo il seguente errore:

Deployment error: Starting of Tomcat failed, the server port 8080 is already in use. See the server log for details. at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:166) at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:104) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:277) at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:460) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151) Caused by: org.netbeans.modules.j2ee.deployment.impl.ServerException: Starting of Tomcat failed, the server port 8080 is already in use. at org.netbeans.modules.j2ee.deployment.impl.ServerInstance._start(ServerInstance.java:1297) at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1251) at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1062) at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.start(ServerInstance.java:939) at org.netbeans.modules.j2ee.deployment.impl.TargetServer.startTargets(TargetServer.java:428) at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:143) ... 16 more BUILD FAILED (total time: 4 seconds) 

Ho provato a cambiare la porta del server in 8081 e la porta di arresto in tool-> server, funziona bene ma di nuovo se faccio qualche operazione ed eseguo il progetto dice ” Errore di distribuzione: avvio di Tomcat fallito, la porta del server 8081 è già in uso “Quale sarebbe il problema può qualcuno aiutarmi.

goto prompt dei comandi

 netstat -aon 

per Linux

 netstat -tulpn | grep 'your_port_number' 

ti mostrerà qualcosa di simile

  TCP 192.1.200.48:2053 24.43.246.60:443 ESTABLISHED 248 TCP 192.1.200.48:2055 24.43.246.60:443 ESTABLISHED 248 TCP 192.1.200.48:2126 213.146.189.201:12350 ESTABLISHED 1308 TCP 192.1.200.48:3918 192.1.200.2:8073 ESTABLISHED 1504 TCP 192.1.200.48:3975 192.1.200.11:49892 TIME_WAIT 0 TCP 192.1.200.48:3976 192.1.200.11:49892 TIME_WAIT 0 TCP 192.1.200.48:4039 209.85.153.100:80 ESTABLISHED 248 TCP 192.1.200.48:8080 209.85.153.100:80 ESTABLISHED 248 

controlla quale processo ha vincolato la tua porta. qui nell’esempio sopra è ora il 248 se sei sicuro di aver bisogno di uccidere quel fuoco di processo

Linux:

 kill -9 248 

Finestre:

 taskkill /f /pid 248 

ucciderà quel processo

Se sei dietro un server proxy questo problema potrebbe accadere che ho avuto lo stesso problema ed è stato risolto da: Preferenze -> Generale -> Impostazioni proxy -> Nessun proxy.

“Forse il messaggio pronto per il tomcat è stato inviato al proxy e non ha mai raggiunto l’IDE.”

trovato @: https://netbeans.org/bugzilla/show_bug.cgi?id=231220

Ho avuto lo stesso problema durante il tentativo di distribuzione, Tomcat non è riuscito a riavviarsi mentre l’istanza di Tomcat era in esecuzione. Chiudi l’IDE e controlla TASk Manager – elimina qualsiasi processo javaw in esecuzione, che risolve il problema per me.

Dai un’occhiata ai tuoi processi in esecuzione, sembra che la tua attuale istanza Tomcat non si sia fermata. È ancora in esecuzione e NetBeans tenta di avviare una seconda istanza Tomcat. Questo è il motivo della tua eccezione, devi solo interrompere la prima istanza o distribuire il tuo codice su quello corrente in esecuzione

Modificando le impostazioni del proxy su “nessun proxy” in netbeans il tomcat prbolem è stato risolto. Prova a farlo funzionare seriamente.

Se su Linux puoi uccidere i Tomcat esistenti con questo script

 #/bin/bash if [ `whoami` != root ]; then echo "Please run this script as root or using sudo" exit fi echo echo "finding proceses that have name java and established connections status" echo echo "Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name" netstat --tcp --programs | grep "ESTABLISHED" | grep "java" echo echo "finding proceses that use port 8080 or http-alt" echo netstat --tcp --programs | grep ':8080\|:http-alt' echo -n "Do you wish to kill a process listed above?[Y/n]" read choose if [ "$choose" = "Y" ] || [ "$choose" = "y" ] || [ -z "$choose" ] then echo "enter pid to kill" read procesId kill -9 $procesId fi echo "done exiting" exit 0 

Elimina la precedente istanza di tomcat o il processo in esecuzione su 8080.

Vai al terminale e fai questo:

lsof -i :8080

L’output sarà qualcosa del tipo:

 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 76746 YourName 57u IPv6 0xd2a83c9c1e75 0t0 TCP *:http-alt (LISTEN) 

Uccidi questo processo usando il suo PID:

kill 76746

Seleziona il progetto -> Fai clic con il pulsante destro del mouse -> pulisci e crea e poi esegui di nuovo il progetto, semplicemente risolvendo il problema per me.

Poiché, più processi possono associare la stessa porta ad esempio la porta 8086, in quel caso devo uccidere tutti i processi coinvolti con la porta con PID. Potrebbe essere complicato.

Ho avuto un problema simile, tranne che era la porta 80 che era già in uso. Si è rivelato essere i servizi IIS di Microsofts. Non li uso affatto, quindi li ho semplicemente disinstallati tramite appwiz.cpl.

Nel mio caso ho accidentalmente aggiunto due istanze di server e ho ricevuto questo errore .. Basta dare un’occhiata nella scheda Services in Servers e rimuovere una delle istanze … e riavviare il server … 🙂

Cambia la tua porta predefinita in [tomcat_home_dir] /conf/server.xml find

  

cambiarlo in

  

Cambia il tuo indirizzo della porta Tomcat in 8084 e porta Shut Down Port in 8025 . Questo risolverà il tuo problema.

In altri casi i programmi antivirus possono causare problemi. Ho avuto questo problema con la sicurezza totale di K7. Nel mio caso K7 Firewall stava bloccando la porta 8084. La soluzione semplice è aggiungere un’eccezione a Netbeans nell’elenco K7 Firewall.

Per farlo, apri K7 e vai a Impostazioni -> Impostazioni firewall -> seleziona la scheda Applicazioni e trova Netbeans.

Seleziona Netbeans e fai clic sul link modifica . Nella schermata successiva selezionare il pulsante di opzione Concedi accesso completo alla rete .

Ora vai a Netbeans e avvia il server.

Ho lo stesso problema, e cerco di cambiare il numero di porta, nessuna opzione proxy, pulire e compilare ma niente funziona. Finalmente, riavvio il mio laptop e il mio problema è risolto.

Ho risolto questo problema, in Windows 8.1 x64.

  1. goto – %userprofile%\AppData\Roaming\NetBeans\8.1\apache-tomcat-8.0.27.0_base\work\Catalina\localhost
  2. Elimina tutte le cartelle senza cartelle (manager e ROOT)
  3. goto – %userprofile%\AppData\Roaming\NetBeans\8.1\apache-tomcat-8.0.27.0_base\conf\Catalina\localhost
  4. elimina tutti i file senza ( manager.xml e ROOT.xml )
  5. Vai a NetBeans e avvia il server Tomcat

passi:

  • 1) apri Netbeans.
  • 2) Vai agli strumenti.
  • 3) Vai ai server.
  • 4) Ora cambia la tua porta n. e spegni la porta n. molto probabilmente dovresti aumentare entrambi di 1 . ad es. da 8084 a 8085 e la porta di spegnimento da 8025 a 8026
  • 5) Riavvia Netbeans e prova a eseguire il tuo progetto. Problema risolto