web-dev-qa-db-fra.com

"Le démarrage du serveur Tomcat v7.0 sur localhost a échoué" sans trace de pile pendant le fonctionnement dans le terminal

Donc, j'ai eu ce projet qui fonctionnait bien avant le week-end (d'autres problèmes, mais au moins Tomcat a été lancé). Maintenant, lorsque j'essaie de lancer le serveur Tomcat, l'erreur suivante apparaît immédiatement:

Server Tomcat v7.0 Server at localhost failed to start.

Cependant, je peux très bien démarrer Tomcat via Terminal et ce problème se produit dans Eclipse ( Eclipse Java EE IDE pour les développeurs Web. Version: Juno Service Release 1 Identifiant: 20121004-1855 )

J'ai parcouru plusieurs forums en essayant de trouver une solution, mais en vain! S'il vous plaît aider quelqu'un dans le besoin.

64
Marvin Effing

Pour résoudre ce problème, vous devez supprimer le fichier .snap situé dans le répertoire:

<workspace-directory>\.metadata\.plugins\org.Eclipse.core.resources

Après avoir supprimé ce fichier, vous pouvez démarrer Eclipse sans problème.

53
Ami
  1. Ouvrez l'onglet Serveurs sous Windows → Afficher la vue → menu Serveurs

  2. Faites un clic droit sur le serveur et supprimez-le

  3. Créer un nouveau serveur en sélectionnant Nouveau → Onglet Serveur sur serveur

  4. Cliquez sur le lien "Configurer les environnements d'exécution…"

  5. Sélectionnez le serveur Apache Tomcat v7.0 et supprimez-le. Cela supprimera la configuration du serveur Tomcat. C'est là que beaucoup de gens font erreur - ils suppriment le serveur mais pas l'environnement Runtime.}

  6. Cliquez sur OK et quittez l'écran ci-dessus maintenant.

  7. Dans l'écran ci-dessous, choisissez le serveur Apache Tomcat v7.0 et cliquez sur le bouton Suivant.

  8. Accédez au répertoire d'installation de Tomcat

  9. Cliquez sur Suivant et choisissez le projet que vous souhaitez déployer:

  10. Cliquez sur Terminer après l'ajout de votre projet.

  11. Maintenant, lancez votre serveur. Cela résoudra le délai d'attente de votre serveur ou tout problème lié à l'ancienne configuration du serveur. Cette solution peut également être utilisée pour résoudre les problèmes liés à l’absence de mise à jour de port.

92
chandrsekar.L.S.

Pour résoudre ce problème, vous devez supprimer tmp folder dans le répertoire suivant.

<workspace-directory>\.metadata\.plugins\org.Eclipse.wst.server.core

En cas de problème lors de la suppression de ce dossier, redémarrez Eclipse, puis supprimez-le à nouveau.

33
jaideep

Dans mon cas, le problème résidait dans le code xml.

Mon fichier web.xml ressemblait à ceci:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://Java.Sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>index</servlet-name>
        <jsp-file>index.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>index</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

mais je l'ai changé pour ressembler

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://Java.Sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

</web-app>

et maintenant le serveur se charge correctement. Étrange.

21
CodyBugstein

j'ai rencontré ce problème, parce que je définis le mappage de servlet dans la classe de servlet et web.xml.

Veillez à vérifier si vous avez défini le mappage de servlet dans votre classe de servlet et votre fichier web.xml.

1) supprimer @WebServlet("...")

@WebServlet("/Login")
public class Login extends HttpServlet {
}

OU

2) supprimer <servlet></servlet> <servlet-mapping></servlet-mapping>

<servlet>
    <servlet-name>ServletLogin</servlet-name>
    <servlet-class>Login</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ServletLogin</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>

Raison:

J'utilise Apache Tomcat 7.0 qui prend en charge Servlet 3.0.

Avec les annotations Java EE, le descripteur de déploiement web.xml standard est

optionnel. Selon la spécification Servlet 3.0 à l'adresse 

http://jcp.org/en/jsr/detail?id=315

12
C0de8ug

Serveur Tomcat v7.0 Le démarrage du serveur sur localhost a échoué.

Cette erreur résoudre après trois cas

1.Nettoyer le projet et le serveur

Ou

2.Remove le fichier .snap de ce répertoire

<workspace-directory>\.metadata\.plugins\org.Eclipse.core.resources

Ou

3.Remove fichier temporaire de ce répertoire

<workspace-directory>\.metadata\.plugins\org.Eclipse.wst.server.core
11
user2860053

Dans mon cas, le problème se trouvait dans le fichier web.xml, où j’avais oublié de faire précéder le motif url d’un "/" (par exemple, /login.do).

Comme l'a mentionné @ Ajak6 ci-dessus, mon problème a été résolu en ajoutant l'API servlet en tant que bibliothèque JAR externe pour le projet.

Cependant, j'ai trouvé une meilleure solution en ajoutant Tomcat au runtime cible comme suit:

1) projet> propriétés

2) dans le menu latéral, sélectionnez "Durée d'exécution ciblée"

3) sélectionnez Tomcat (cliquez sur Appliquer)

4) cliquez sur ok

7
Emad Abdelhamid

La création d'un nouvel espace de travail peut également résoudre ce problème.

6
Vibhor Bhardwaj

ouvrez votre fichier web.xml. (Si vous ne savez pas où il se trouve, alors il suffit de le rechercher sur Google).

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
.
.
.
.
</web-app>

juste en dessous de la ligne <?xml version="1.0" encoding="UTF-8"?>, ajoutez une balise <element> et fermez-la tout en bas avec la balise </element>. Terminé.

6
djangodude

Aucune des réponses mentionnées ci-dessus n'a fonctionné pour moi. J'utilise Tomcat 9 dans mon IDE Eclipse. J'ai donc essayé les étapes suivantes sur mon Eclipse Neon. 

Étape n ° 1: Cliquez sur l'onglet Servers pour afficher votre serveur. Dans mon cas, cela ressemble à ce qui suit:

 enter image description here

Étape n ° 2: Faites un clic droit sur le serveur, sélectionnez Properties, vous verrez la fenêtre suivante. Cliquez sur Switch Location, l'emplacement par défaut sera l'emplacement indiqué dans l'image ci-dessous. Cliquez sur Apply puis sur OK pour fermer la fenêtre.

 enter image description here

Étape n ° 3 Double-cliquez sur le serveur Tomcat, ce qui ouvrira l'option Overview comme indiqué dans l'image ci-dessous. La partie Server Locations était active pour moi quand je le faisais (elle est montrée inactive dans l'image car je l'ai déjà fait de mon côté et j'ai mon serveur en marche) cela et j'ai sélectionné la deuxième option de bouton radio qui est Use Tomcat installation (takes control of Tomcat installation). J'ai ensuite fermé cette option, enregistré les modifications à l'invite et démarré mon serveur. Cela a commencé à bien fonctionner.

 enter image description here

5
John

J'ai eu le même problème sur mon serveur Tomcat, mais lorsque j'ai vérifié en profondeur, j'ai constaté que j'ajoutais une nouvelle balise dans mon fichier web.xml et que le serveur ne l'acceptait pas. sera bon .

5
REDA

Tout fonctionnait bien une seconde, puis mon serveur a commencé à me donner cette erreur. J'ai parcouru toutes les réponses mentionnées ici et ce qui a fonctionné pour moi était cette solution simple:

Suppression du serveur, puis configuration d'un nouveau

Si vous êtes certain de ne rien avoir changé et que l'erreur vient de s'afficher, NE démarrez PAS la suppression des fichiers .snap ou d'autres fichiers temporaires. Faire cela ne fera que causer plus de problèmes. Et si l'erreur est due à des modifications apportées par vous, cette erreur sera certainement due à des erreurs dans le fichier web.xml.

P.S. Changer l'espace de travail ne vous servira à rien, car si le problème concerne votre projet, il se produira quand même dans le nouvel espace de travail lorsque vous importerez le projet! 

3
user2851347

1-Accédez au répertoire ».metadata» .plugins »du dossier org.Eclipse.wst.server.core.

2- Supprimez le dossier tmp.

3- Redémarrez votre IDE Eclipse

2
fatma yakut

J'ai eu le même problème, et aucune des réponses ici n'a aidé mon cas. Après plusieurs heures de recherche, j'ai trouvé la solution et j'espère que cela aidera quelqu'un d'autre.

Ceci est une solution pour quiconque obtient le "serveur Tomcat v7.0 sur localhost n'a pas pu démarrer." erreur après la configuration du serveur Tomcat dans Eclipse et l’essai d’exécuter un projet dessus.

Après avoir configuré le serveur Tomcat dans Eclipse, vous devez copier le répertoire "WEB-INF" de votre Tomcat. C:\...% Tomcat_HOME%\webapps\ROOT et vous trouverez le "WEB-INF" copié et collé dans le dossier WebContent de votre projet Eclipse (écrasez le fichier web.xml).

J'espère que cela t'aides.

2
ChicoDelaBarrio

dans mon cas, l'erreur était qu'il n'a pas été possible de trouver servlet-api.jar. Je ne sais pas pourquoi tout à coup cela a commencé à donner une erreur pour cela. Parce que précédemment, il fonctionnait sans aucun problème. Après avoir indiqué l'option servlet-api.jar dans le chemin de génération, le serveur a démarré avec succès.

2
Ajak6

Dans mon cas, j'ai déployé mon dossier Tomcat (celui contenant tous les fichiers) dans un autre emplacement.

Ensuite, lorsque j'ai lancé Eclipse et que j'ai essayé de lancer mon projet avec jsp et des servlets, j'ai eu la même erreur.

J'ai essayé toutes les réponses ici mais cela n'a toujours rien changé. La solution pour moi était de mettre tous les fichiers JAR de Tomcat dans la bibliothèque du projet, comme suit:

  1. Allez à Eclipse
  2. Faites un clic droit sur le projet sur lequel vous travaillez> Chemin de construction> Configurer le chemin de construction ...> Bibliothèques> Ajouter des fichiers JAR externes
  3. sélectionner tous les fichiers JAR de Tomcat/bin et Tomcat/lib
  4. Appuyer sur OK"

Maintenant, vous devriez les trouver dans le dossier Bibliothèques de votre projet et cela devrait alors fonctionner.

1
Iwan Cuche

Je faisais face à un problème similaire ce week-end. J'ai essayé toutes les astuces mentionnées ci-dessus, mais aucune d'elles n'a fonctionné avec moi. (Travailler chez Eclipse LUNA)

Ensuite, j’ai analysé le fait qu’avant de créer un servlet particulier, j’exécutais Apache Tomcat v7.0 avec succès. Quel était "RefreshServlet" comme indiqué ci-dessous:

 RefreshServlet.Java

Pour que les servlets puissent comprendre le fonctionnement "AutoRefresh" . Lorsque je supprime ce servlet de mon application, cela fonctionne correctement, mais lorsque j'essaie d'ajouter et d'exécuter ce servlet, la même erreur se produit "Apache Tomcat v7.0 échoué à démarrer "

Je ne sais pas pourquoi, mais le fait de supprimer uniquement cette servlet me permet d'exécuter le reste de mon application.

Je suggère donc que si aucun autre truc ne fonctionne, essayez de supprimer tout dernier servlet ou toute classe que vous venez de créer avant que cette erreur ne se produise et que cela fonctionne sans problème pour le reste de l'application.

Toute autre explication serait appréciée. Merci

1
NIKHIL CHAURASIA

Vérifiez votre descripteur Web (web.xml) ou vos servlets (si vous annotez, recherchez quelque chose comme '@WebServlet ("/ nom_servlet")') pour rechercher les doublons. Supprimez-les.

1
Mwangi Thiga

Essayez de supprimer le serveur Tomcat existant dans la console du serveur. Si vous n’avez pas la console, vous pouvez aller dans "Afficher la vue -> serveur", puis supprimer le serveur en cliquant dessus avec le bouton droit de la souris. Ajouter un nouveau serveur cela va sûrement vous aider.

1

Le problème peut être lié à des annotations dans votre ou vos servlets. Vérifiez si vous utilisez des annotations pour les modèles d'URL de vos servlets.

Essayez de changer la version de la facette du projet (projet Web dynamique) en 2.5 et de définir toutes vos entrées de servlet dans web.xml, ce qui devrait résoudre le problème.

vous pouvez changer la version de la facette du projet dans Eclipse en la modifiant dans les propriétés du projet -> recherchez "facette" dans la zone de recherche, changez la version de la facette du projet Web dynamique en 2.5 

0
Ankur

Si toutes les réponses données ne fonctionnent pas pour vous, changez simplement votre espace de travail actuel.

fichier-> Changer d'espace de travail

Ce serait résoudre votre problème.

0
Umesh

Après avoir essayé toutes les étapes mentionnées ci-dessus, le problème n'a pas été résolu.

Enfin, il a résolu les étapes ci-dessous.

1- Vérifiez le fichier .log dans votre répertoire d’espace de travail. Problème avec la version Java 

"Causé par: Java.io.IOException: impossible d'exécuter le programme" C:\jdk1.7.0_45\bin\Java ": Erreur CreateProcess = 193,% 1 n'est pas une application Win32 valide À Java.lang.ProcessBuilder. start (Source inconnue) à Java.lang.Runtime.exec (Source inconnue) à Java.lang.Runtime.exec (Source inconnue) à org.Eclipse.debug.core.DebugPlugin.exec (DebugPlugin.Java:869) ... 80 autres

Causée par: Java.io.IOException: erreur CreateProcess = 193,% 1 n'est pas une application Win32 valide sur Java.lang.ProcessImpl.create (méthode native) à Java.lang.ProcessImpl. (Source inconnue) sur Java.lang.ProcessImpl.start (Source inconnue) "

J'ai installé le correct JDK compatible OS et le problème a été résolu . PS: J'ai explicitement défini le chemin JDK via Eclipse (Fenêtre-> préférence-> JRE installé), mais après avoir défini le bon chemin JDK, cela fonctionne correctement pour moi.

0
Saurabh Gupta

essayez de supprimer toutes les dépendances de votre projet du référentiel local maven (.m2).

Chemin: C:\Utilisateurs\nom_utilisateur\.m2\repository

fermez Eclipse et ouvrez-le à nouveau, il téléchargera automatiquement toutes les dépendances.

0
Isuru

Créer un nouveau projet et importer tous les fichiers dans le nouveau project.it a fonctionné pour moi ....

0
Optimaz ID

double-cliquez sur le serveur Apache dans l'onglet Serveur Eclipse. changez maintenant le port d'administration de tomacat en 8010, le changement de port http en 8082 et le changement de port Ajp en 8011.

0
sudeep biswas

J'ai résolu mon problème en fermant simplement tous les autres projets dans Eclipse.

0
azhar baloch

Vous pouvez cliquer avec le bouton droit sur Apache-Tomcat, choisir les propriétés, cliquer sur Restaurer les valeurs par défaut.

0
pkpk

Dans mon espace de travail Eclipse, le problème a été résolu en procédant comme suit: .. Fenêtre -> Préférences -> Connexions réseau -> Modifiez le "Fournisseur actif" en "Direct" au lieu de "Natif". Vous pouvez l'essayer.

0
Pijush

Dans mon cas, le problème était dû à une erreur de syntaxe dans les arguments transmis. J'avais un espace entre la clé et la valeur lorsque j'utilisais '-D' 

c'est à dire. 

-DMyArg= MyValue

au lieu de 

-DMyArg=MyValue
0
Kevin

Dans mon cas, le problème concernait une autre instance de Tomcat en cours d'exécution. Je l'ai arrêté des services et le problème a été résolu

0
Vishnu

Vérifiez d'abord dans votre fichier Web.xml qu'il existe plusieurs balises <servlet mapping> portant des noms différents Si c'est le cas, supprimez celles qui ne sont pas désirées et exécutez .. Cela devrait fonctionner correctement  

OU

Pour résoudre ce problème, vous devez supprimer le fichier .snap situé dans le répertoire.

Allez à votre espace de travail Eclipse que vous êtes UsingPath -> workspace.metadata.plugins\org.Eclipse.core.resources\snapfile

Supprimez le fichier de capture.

Après la suppression de ce fichier, Supprimez le serveur Tomcat Supprimez également le serveur d’exécution qui est sélectionné comme Apache Tomcat . Ajoutez à nouveau Serveur et Goto Project -> Propriétés--. > Projet Facettes -> Côté droit, vous trouverez les onglets Détails et Runtimes . Cliquez sur Runtimes et cochez la case Apache qui s'y trouve déjà (si ce n'est pas le cas, ajoutez-le)

Changer les numéros de port et l'exécuter.

0