web-dev-qa-db-fra.com

Impossible de démarrer Apache Tomcat 6 à partir d'IntelliJ IDEA 12.1.4 Ultimate (Windows 7)

Je dois déboguer une application Web pour Tomcat6 dans IntelliJ IDEA.

Lorsque j'essaie d'exécuter mon application Web, deux erreurs se produisent:

  1. Adresse localhost: 1099 est déjà utilisé
  2. Impossible d'ouvrir le port du débogueur: Java.net.SocketException

Le lancement manuel du service Apache Tomcat 6 fonctionne correctement.

Que dois-je faire pour pouvoir déboguer des applications Web dans Apache Tomcat 6 à partir d'Intellij IDEA?

23
DP_

Suivre les étapes ci-dessous fonctionne: -

  1. Ouvrez la commande Invite et tapez la commande netstat -ano
  2. Vous verrez une liste des connexions TCP actives avecPIDcomme dernière colonne
  3. Voir la deuxième colonne énumérant les adresses locales et trouver celle qui utilise le port 1099 et vous obtiendrez son PID 
  4. Ouvrez maintenant votre gestionnaire de tâches, cliquez sur l'onglet Processus et obtenez la colonne PID à afficher [soit en cliquant avec le bouton droit sur la ligne d'en-tête et en sélectionnant PID OR, cliquez sur Afficher, puis sur Sélectionner des colonnes et sélectionnez PID.]
  5. Recherchez maintenant le PID obtenu à l’étape 3 et terminez le processus.

Maintenant vous êtes prêt à partir :)

34
varna

Je fais face à ce problème tout le temps. Voici comment y remédier 

LINUX 

Ouvrez une instance de terminal.

fuser 1099/tcp

Cela devrait vous retourner un identifiant de processus.

1099/tcp:            31596

où 31596 est l'ID de processus. Maintenant, vous pouvez soit utiliser l'ID de processus pour le tuer, soit simplement écraser ce qui suit -

fuser -k 1099/tcp

LES FENÊTRES

Ouvrez une instance d'invite de commande.

netstat -aon | find "1099"

Cela vous retournera une instance du processus.

sortie:

TCP    0.0.0.0:1099       0.0.0.0:0       LISTENING       15776

Ici 15776 est l'ID de processus. Pour tuer ceci, entrez -

taskkill /F /PID 15776

À votre santé!

22
Swanidhi

Vous pouvez modifier le port JMX (1099 par défaut) dans la boîte de dialogue Run/Debug Configuration . Essayez simplement un numéro de port différent (c'est-à-dire 9099).

11
julg

Si l'application Web était déjà opérationnelle auparavant, il se peut qu'un ancien serveur de débogage ne se soit pas arrêté correctement et ne s'exécute pas en arrière-plan. Consultez ce message pour savoir quel processus utilisant le port 1099. S'il s'agit d'un processus Java, supprimez-le.

Comment savoir quel processus écoute sur un port sous Windows?

(Si vous utilisez l'interface graphique suggérée dans le lien ci-dessus, vous pouvez arrêter le (s) processus en marquant tous les processus Java utilisant le port 1099, cliquer avec le bouton droit de la souris et appuyer sur "Terminer le processus ...")

9
Andreas Lundgren

Comme indiqué précédemment, un ancien serveur de débogage fonctionne en arrière-plan. 

Ma solution consistait à fermer le processus Java laissé ouvert à partir du gestionnaire de tâches Windows. 

S'il vous plaît vérifier que vous pouvez fermer ce processus avant de le faire!

2
uris

Changez votre port http en 8080 (valeur par défaut pour Tomcat) et mettez le port de débogage sur quelque chose qui n'est actuellement utilisé par aucun processus. Vous pouvez utiliser tout ce qui est supérieur à 1024, mais comme vous obtenez une erreur sur 1099, essayez une valeur supérieure à 6000.

Le paramétrage du débogueur peut être trouvé ici

1
Srihari

Ce qui a fonctionné pour moi était. J'ai supposé que le service "Apache Tomcat" devrait être exécuté sous "Services" [Windows + R >> services.msc]

Je suis allé arrêter le service Tomcat ici. Ensuite, je suis arrivé dans mon application Java et je l'ai exécuté dans Intellij, ce qui m'a permis de l'exécuter.

J'espère que cela t'aides!

0
hal9000

J'ai trouvé cette réponse utile:

Comment savoir quel processus écoute sur un port sous Windows?

J'ai ouvert le moniteur de ressources et cherché ce qui utilisait les ports. Puis ouvert le gestionnaire de tâches et mis fin à ces processus

0
lk1234

Il est possible qu'un autre programme ou serveur s'exécute en arrière-plan. Commencez par fermer un autre serveur fonctionnant en arrière-plan, puis redémarrez votre serveur.

0
user3642940