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.
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.
Ouvrez l'onglet Serveurs sous Windows → Afficher la vue → menu Serveurs
Faites un clic droit sur le serveur et supprimez-le
Créer un nouveau serveur en sélectionnant Nouveau → Onglet Serveur sur serveur
Cliquez sur le lien "Configurer les environnements d'exécution…"
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.}
Cliquez sur OK et quittez l'écran ci-dessus maintenant.
Dans l'écran ci-dessous, choisissez le serveur Apache Tomcat v7.0 et cliquez sur le bouton Suivant.
Accédez au répertoire d'installation de Tomcat
Cliquez sur Suivant et choisissez le projet que vous souhaitez déployer:
Cliquez sur Terminer après l'ajout de votre projet.
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.
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.
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.
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
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
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
La création d'un nouvel espace de travail peut également résoudre ce problème.
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é.
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:
É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.
É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.
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 .
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!
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
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.
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.
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:
Maintenant, vous devriez les trouver dans le dossier Bibliothèques de votre projet et cela devrait alors fonctionner.
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:
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
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.
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.
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
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.
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.
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.
Créer un nouveau projet et importer tous les fichiers dans le nouveau project.it a fonctionné pour moi ....
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.
J'ai résolu mon problème en fermant simplement tous les autres projets dans Eclipse.
Vous pouvez cliquer avec le bouton droit sur Apache-Tomcat, choisir les propriétés, cliquer sur Restaurer les valeurs par défaut.
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.
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
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
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.