web-dev-qa-db-fra.com

Erreur de déploiement: Echec du démarrage de Tomcat, le port du serveur 8080 est déjà utilisé.

Lorsque j'exécute mon projet Java avec Netbeans, le message d'erreur suivant s'affiche:

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)

J'ai essayé de changer le port du serveur en 8081 et le port d'arrêt dans tool-> server. Il fonctionne correctement, mais si je lance une opération et lance le projet, il indique " Erreur de déploiement: le démarrage de Tomcat a échoué, le port du serveur 8081 est déjà utilisé "

Quel serait le problème?

35
user660450

commande goto Invite 

netstat -aon

pour linux

netstat -tulpn | grep 'your_port_number'

il va vous montrer quelque chose comme

 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

vérifiez quel processus a lié votre port. ici dans l'exemple ci-dessus son 248 maintenant si vous êtes sûr que vous avez besoin de tuer ce processus de feu 

Linux: 

kill -9 248

Les fenêtres: 

taskkill /f /pid 248

ça va tuer ce processus

101
Jigar Joshi

Si vous êtes derrière un serveur proxy, ce problème peut survenir J'ai eu le même problème et a été résolu par:.

"Peut-être que le message prêt Tomcat a été envoyé au proxy - et n'a jamais atteint l'IDE."

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

9
Mohamed Elwy

J'ai eu le même problème lors de la tentative de déploiement, Tomcat n'a pas pu redémarrer car l'instance de Tomcat était en cours d'exécution. Fermez le IDE et vérifiez le gestionnaire de tâches - arrêtez tous les processus javaw en cours d’exécution qui ont résolu le problème.

6
Adi

Examinez vos processus en cours, il semble que votre instance Tomcat actuelle ne s’est pas arrêtée. Il est toujours en cours d'exécution et NetBeans tente de démarrer une deuxième instance de Tomcat . C'est la raison de votre exception, il vous suffit d'arrêter la première instance ou de déployer votre code sur celle qui est en cours d'exécution.

4
iSkriD

En modifiant les paramètres du proxy en "no proxy" dans Netbeans, le problème Tomcat a été résolu.

3
surya

Si sous Linux, vous pouvez tuer les Tomcats existants avec ce 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
3
nkvnkv

Supprimez l'instance précédente de Tomcat ou le processus en cours d'exécution sur 8080.

Allez au terminal et faites ceci:

lsof -i :8080

La sortie sera quelque chose comme:

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

Tuez ce processus en utilisant son PID:

kill 76746

2
Balaji Dubey

Sélectionnez le projet -> clic droit -> nettoyer et construire puis exécutez à nouveau le projet, résolvez simplement le problème pour moi. 

Comme plusieurs processus pourraient lier le même port, par exemple le port 8086, dans ce cas, je dois tuer tous les processus impliqués avec le port avec PID. Cela pourrait être lourd. 

1
W.Jack

Changez votre port par défaut dans [rép_photel_catel_Comcat] /conf/server.xml Find 

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

changez le en

<Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
0
y.hussain

Je l'ai résolu en remplaçant Tomcat 8.5. * Par Tomcat 7.0. * version.

0
shivaji bhosale

Changez votre adresse de port Tomcat en 8084 et Shut Down Port en 8025. Cela résoudra votre problème.

Dans d'autres cas, les programmes antivirus peuvent causer des problèmes. J'ai eu ce problème avec K7 sécurité totale. Dans mon cas, K7 Firewall bloquait le port 8084. La solution simple consiste à ajouter une exception à Netbeans dans la liste du pare-feu K7.

Pour ce faire, ouvrez K7 et allez à Paramètres -> Paramètres du pare-feu -> sélectionnez l'onglet Applications et trouvez Netbeans. 

Sélectionnez Netbeans et cliquez sur le lien edit. Dans l'écran suivant, sélectionnez le bouton radio Accorder un accès réseau complet

Maintenant, allez sur Netbeans et démarrez le serveur. 

0
Shashanth