it-swarm.com.de

"Server Tomcat v7.0 Server auf localhost konnte nicht gestartet werden" ohne Stack-Trace, während es im Terminal funktioniert

Also dieses Projekt, das vor dem Wochenende gut funktioniert hat (andere Probleme haben, aber zumindest Tomcat gestartet). Wenn ich jetzt versuche, den Tomcat-Server zu starten, wird sofort die folgende Fehlermeldung angezeigt:

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

Ich kann Tomcat jedoch problemlos über Terminal starten, und dieses Problem tritt bei Eclipse (Eclipse Java EE IDE für Webentwickler) auf. Version: Juno Service Release 1Build id: 20121004-1855 )

Ich habe mehrere Foren durchforstet, um eine Lösung zu finden, aber ohne Erfolg! Bitte helfen Sie jemandem in Not.

64
Marvin Effing

Um dieses Problem zu beheben, müssen Sie die .snap-Datei im Verzeichnis löschen:

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

Nachdem Sie diese Datei gelöscht haben, können Sie Eclipse problemlos starten.

53
Ami
  1. Öffnen Sie die Registerkarte Server über Windows → Ansicht anzeigen → Server

  2. Klicken Sie mit der rechten Maustaste auf den Server und löschen Sie ihn

  3. Erstellen Sie einen neuen Server, indem Sie Neu → Server auf der Registerkarte Server wählen

  4. Klicken Sie auf den Link "Laufzeitumgebungen konfigurieren ..."

  5. Wählen Sie den Apache Tomcat v7.0-Server aus und entfernen Sie ihn. Dadurch wird die Tomcat-Serverkonfiguration entfernt. Hier machen viele Leuteerror - sie entfernen den Server, aber nicht die Laufzeitumgebung.

  6. Klicken Sie auf OK und schließen Sie den Bildschirm jetzt.

  7. Wählen Sie im folgenden Bildschirm den Server Apache Tomcat v7.0 aus und klicken Sie auf die Schaltfläche Weiter.

  8. Navigieren Sie zum Tomcat-Installationsverzeichnis

  9. Klicken Sie auf Weiter und wählen Sie das Projekt aus, das Sie bereitstellen möchten:

  10. Klicken Sie nach dem Hinzufügen Ihres Projekts auf Fertig stellen

  11. Starten Sie jetzt Ihren Server. Dadurch werden Ihr Server-Timeout oder Probleme mit der alten Serverkonfiguration behoben. Diese Lösung kann auch verwendet werden, um Probleme mit der Port-Aktualisierung zu beheben.

92

Um dieses Problem zu beheben, müssen Sie den Ordner tmp im folgenden Verzeichnis löschen

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

Wenn beim Löschen dieses Ordners Probleme auftreten, starten Sie Ihren Eclipse neu und löschen Sie diesen Ordner erneut.

33
jaideep

In meinem Fall lag das Problem irgendwie im xml-Code.

Meine web.xml-Datei sah folgendermaßen aus:

<!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>

aber ich habe es geändert, um auszusehen

<!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>

und jetzt lädt der Server ordnungsgemäß. Seltsam.

21
CodyBugstein

ich bin auf dieses Problem gestoßen, da ich die Servlet-Zuordnung in der Servlet-Klasse und in web.xml definiere.

Sie müssen sorgfältig prüfen, ob Sie in Ihrer Servlet-Klasse und in web.xml die Servlet-Zuordnung definiert haben

1) löschen @WebServlet("...")

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

ODER

2) <servlet></servlet> <servlet-mapping></servlet-mapping> löschen

<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>

Grund:

Ich verwende Apache Tomcat 7.0, das Servlet 3.0 unterstützt.

Bei Java EE-Anmerkungen ist der standardmäßige Implementierungsdeskriptor von web.xml

wahlweise. Entsprechend der Servlet 3.0-Spezifikation bei 

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

12
C0de8ug

Server Tomcat v7.0 Server auf localhost konnte nicht gestartet werden.

Dieser Fehler wird nach drei Fällen behoben

1.Clean Projekt & Server

Oder

2. Entfernen Sie die .snap-Datei aus diesem Verzeichnis

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

Oder

3.Entfernen Sie die temporäre Datei aus diesem Verzeichnis

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

In meinem Fall lag das Problem in der Datei web.xml, wo ich vergessen habe, dem URL-Muster ein "/" (z. B. /login.do) voranzustellen.

Was mein Problem gelöst hat, war, wie bereits bei @ Ajak6 erwähnt, die Servlet-API als externe JAR-Bibliothek für das Projekt.

Ich habe jedoch einen besseren Weg gefunden, indem ich Tomcat wie folgt zur Ziellaufzeit hinzufügte.

1) Projekt> Eigenschaften

2) Wählen Sie im Seitenmenü "Gezielte Laufzeiten".

3) wählen Sie Tomcat (klicken Sie auf "Übernehmen")

4) Klicken Sie auf OK

7
Emad Abdelhamid

Durch das Erstellen eines neuen Arbeitsbereichs kann dieses Problem ebenfalls behoben werden.

6
Vibhor Bhardwaj

Öffnen Sie Ihre web.xml-Datei. (Wenn Sie nicht wissen, wo es ist, dann googeln Sie es einfach.) Es ist wie folgt:

<?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>

direkt unterhalb der Zeile <?xml version="1.0" encoding="UTF-8"?> fügen Sie ein Tag <element> hinzu und schließen Sie es ganz unten mit dem Tag </element>. Erledigt.

6
djangodude

Keine der oben genannten Antworten funktionierte für mich. Ich verwende Tomcat 9 in meiner Eclipse-IDE. Daher habe ich die folgenden Schritte an meinem Eclipse Neon ausprobiert. 

Schritt 1: Klicken Sie auf die Registerkarte Servers, um Ihren Server anzuzeigen. In meinem Fall sieht es folgendermaßen aus:

 enter image description here

Schritt # 2: Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Properties aus. Das folgende Fenster wird angezeigt. Klicken Sie auf Switch Location. Die Position wird von der Standardeinstellung in den im folgenden Bild gezeigten geändert. Klicken Sie auf Apply und dann auf OK, um das Fenster zu schließen.

 enter image description here

Schritt 3 Doppelklicken Sie auf den Tomcat-Server. Daraufhin wird die Option Overview geöffnet (siehe Abbildung unten). Der Server Locations-Teil war für mich aktiv, als ich es tat (er ist im Bild inaktiv, weil ich das bereits an meinem Ende getan habe und mein Server läuft), und ich habe die zweite Optionsfeldoption Use Tomcat installation (takes control of Tomcat installation) ausgewählt. Ich habe diese Option dann geschlossen, die Änderungen gespeichert, wenn Sie dazu aufgefordert wurden, und den Server gestartet. Es hat gut funktioniert.

 enter image description here

5
John

Ich hatte das gleiche Problem in meinem Tomcat-Server, aber als ich mich eingehend überprüfte, stellte ich fest, dass ich ein neues Tag in meine Datei web.xml hinzufüge und der Server dies nicht akzeptiert wird gut sein .

5
REDA

Alles funktionierte eine Sekunde und dann begann mein Server mit diesem Fehler. Ich habe alle hier genannten Antworten durchgesehen und was für mich funktioniert hat, war diese einfache Lösung:

Löschen des Servers und Konfigurieren eines neuen

Wenn Sie sicher sind, dass Sie nichts geändert haben und der Fehler nur aufgetaucht ist, löschen Sie NICHT .snap-Dateien oder andere temporäre Dateien. Dadurch werden nur mehr Probleme verursacht. Wenn der Fehler aufgrund einiger von Ihnen vorgenommener Änderungen aufgetreten ist, ist dieser Fehler definitiv auf einige Fehler in der Datei web.xml zurückzuführen.

P.S. Das Ändern des Arbeitsbereichs bringt Ihnen absolut nichts, denn wenn das Problem in Ihrem Projekt liegt, wird es immer noch im neuen Arbeitsbereich auftreten, wenn Sie das Projekt importieren! 

3
user2851347

1-Wechseln Sie zu Ihrem Arbeitsbereichsverzeichnis ».metadata» .plugins »org.Eclipse.wst.server.core.

2- Löschen Sie den Ordner tmp.

3- Starten Sie Ihre Eclipse IDE neu

2
fatma yakut

Ich hatte das gleiche Problem und keine der Antworten hier half meinem Fall. Nach mehreren Stunden Suche fand ich die Lösung für mich und ich hoffe, es hilft jemandem.

Dies ist eine Lösung für alle, die "Server Tomcat v7.0 Server unter localhost konnten nicht gestartet werden". Fehler nach dem Konfigurieren des Tomcat-Servers in Eclipse und dem Versuch, ein Projekt darauf auszuführen.

Nach dem Konfigurieren des Tomcat-Servers in Eclipse müssen Sie das Verzeichnis "WEB-INF" von Ihrem Tomcat kopieren. C:\...% Tomcat_HOME%\webapps\ROOT und ihr wird das "WEB-INF" finden. Kopieren Sie es einfach und fügen Sie es in Ihren WebContent-Ordner in Ihrem Eclipse-Projekt ein (überschreiben Sie die Datei web.xml).

Hoffe das hilft.

2
ChicoDelaBarrio

in meinem Fall bestand der Fehler darin, servlet-api.jar nicht zu finden. Ich weiß nicht, warum es plötzlich Fehler gab. Weil es vorher ohne Probleme lief. Nachdem Sie die Servlet-api.jar in der Build-Pfad-Option angegeben haben, wurde der Server erfolgreich gestartet.

2
Ajak6

In meinem Fall habe ich meinen Tomcat-Ordner (den Ordner mit allen Dateien) an einem anderen Ort bereitgestellt.

Als ich dann Eclipse startete und versuchte, mein Projekt mit JSPs und Servlets auszuführen, bekam ich denselben Fehler.

Ich habe alle Antworten hier ausprobiert, aber daran hat sich nichts geändert. Die Lösung für mich bestand darin, alle Tomcat-JAR-Dateien wie folgt in die Projektbibliothek zu legen:

  1. Gehe zu Eclipse
  2. Klicken Sie mit der rechten Maustaste auf das Projekt, an dem Sie arbeiten,> Erstellungspfad> Erstellungspfad konfigurieren ...> Bibliotheken> Externe JARs hinzufügen
  3. wählen Sie alle JAR-Dateien in Tomcat/bin und Tomcat/lib aus
  4. Drücke OK"

Jetzt sollten Sie sie im Ordner Bibliotheken Ihres Projekts finden und dann sollte es funktionieren.

1
Iwan Cuche

Ich hatte an diesem Wochenende ein ähnliches Problem. Versuchte alle oben genannten Tricks, aber keiner von ihnen arbeitete von mir. (Arbeiten in Eclipse LUNA)

Dann habe ich analysiert, dass ich kurz vor dem Erstellen eines bestimmten Servlets Apache Tomcat v7.0 erfolgreich ausgeführt habe. Welches war "RefreshServlet" wie unten gezeigt:

 RefreshServlet.Java

Das Üben von Servlets zum Verständnis der Funktion "AutoRefresh" . Wenn ich dieses Servlet aus meiner Anwendung entferne, funktioniert es gut, aber wenn ich versuche, dieses Servlet hinzuzufügen und auszuführen, gibt es den gleichen Fehler "Apache Tomcat v7.0 Den Start verfehlt"

Ich weiß nicht warum, aber nur das Entfernen dieses Servlets funktioniert gut, um den Rest meiner Anwendung auszuführen.

Der letzte Vorschlag von mir wäre also, wenn kein anderer Trick funktioniert, versuchen Sie, ein aktuelles Servlet oder eine gerade von Ihnen erstellte Klasse zu entfernen, bevor Sie diesen Fehler erhalten, und es kann auch für den Rest der Anwendung für Sie funktionieren.

Jede weitere Erklärung wäre willkommen. Vielen Dank

1

Überprüfen Sie Ihren Web-Deskriptor (web.xml) oder Ihre Servlets (Wenn Sie Anmerkungen hinzufügen, prüfen Sie nach "@WebServlet ("/servlet name ")), ob Duplikate vorhanden sind. Falls vorhanden, entferne sie.

1
Mwangi Thiga

Versuchen Sie, den vorhandenen Tomcat-Server in der Serverkonsole zu löschen. Wenn Sie nicht über die Konsole verfügen, können Sie unter "Ansicht -> Server anzeigen" den Server durch Klicken mit der rechten Maustaste löschen. Neuen Server hinzufügen, dies wird Ihnen sicherlich helfen.

1

Das Problem könnten Anmerkungen in Ihren Servlets sein. Überprüfen Sie, ob Sie Anmerkungen für URL-Muster für Ihre Servlets verwenden.

Ändern Sie die Version der Projektfacette (dynamisches Webprojekt) in Version 2.5 und definieren Sie alle Servlet-Einträge in web.xml. Dadurch sollte das Problem gelöst werden.

sie können die Projektfacettenversion in Eclipse ändern, indem Sie sie in den Projekteigenschaften ändern -> Suche nach "Facette" im Suchfeld. Ändern Sie die dynamische Webprojektfacettenversion auf 2.5 

0
Ankur

Wenn alle angegebenen Antworten für Sie nicht funktionieren, ändern Sie einfach Ihren aktuellen Arbeitsbereich.

datei-> Arbeitsbereich wechseln

Es würde dein Problem lösen.

0
Umesh

Nachdem Sie alle oben genannten Schritte ausgeführt haben, wurde das Problem nicht behoben.

Schließlich wurde es mit den folgenden Schritten gelöst.

1- Überprüfen Sie die .log-Datei in Ihrem Arbeitsbereichsverzeichnis. Problem mit der Java-Version 

"Ursache: Java.io.IOException: Programm kann nicht ausgeführt werden" C:\jdk1.7.0_45\bin\Java ": CreateProcess-Fehler = 193,% 1 ist keine gültige Win32-Anwendung Bei Java.lang.ProcessBuilder. start (unbekannte Quelle) bei Java.lang.Runtime.exec (unbekannte Quelle) bei Java.lang.Runtime.exec (unbekannte Quelle) bei org.Eclipse.debug.core.DebugPlugin.exec (DebugPlugin.Java:869) ... 80 mehr

Verursacht durch: Java.io.IOException: CreateProcess-Fehler = 193,% 1 ist keine gültige Win32-Anwendung at Java.lang.ProcessImpl.create (Native Method) at Java.lang.ProcessImpl. (unbekannte Quelle) at Java.lang.ProcessImpl.start (unbekannte Quelle) "

Ich habe ein korrektes OS-kompatibles JDK installiert und das Problem wurde behoben. PS: Ich habe den JDK-Pfad explizit durch Eclipse festgelegt (Window-> Preference-> Installierte JRE), aber nachdem ich den richtigen JDK-Pfad eingestellt habe, funktioniert er gut.

0
Saurabh Gupta

entfernen Sie alle Abhängigkeiten Ihres Projekts aus dem lokalen Repository von Maven (.m2).

Pfad: C:\Benutzer\Benutzername\.m2\Repository

schließen Sie Eclipse und öffnen Sie es erneut. Alle Abhängigkeiten werden automatisch heruntergeladen.

0
Isuru

Neues Projekt erstellen und alle Dateien in das neue Projekt importieren.

0
Optimaz ID

doppelklicken Sie auf der Registerkarte Eclipse-Server auf den Apache-Server. Ändern Sie jetzt den Tomacat-Admin-Port in 8010, http-Port in 8082 und den Ajp-Port in 8011.

0
sudeep biswas

Ich habe mein Problem gelöst, indem ich alle anderen Projekte in Eclipse einfach geschlossen habe.

0
azhar baloch

Sie können mit der rechten Maustaste auf Apache-Tomcat klicken, Eigenschaften auswählen und auf Standard wiederherstellen klicken.

0
pkpk

In meinem Eclipse-Arbeitsbereich wurde dies durch Ausführen der folgenden Schritte gelöst. Fenster -> Einstellungen -> Netzwerkverbindungen -> Ändern Sie 'Active Provider' in 'Direct' anstelle von 'Native'. Sie können es versuchen.

0
Pijush

In meinem Fall wurde das Problem durch einen Syntaxfehler in den übergebenen Argumenten verursacht. Ich hatte ein Leerzeichen zwischen Schlüssel und Wert, wenn Sie '-D' verwenden. 

d.h. 

-DMyArg= MyValue

anstatt 

-DMyArg=MyValue
0
Kevin

In meinem Fall lag das Problem bei einer anderen Instanz von Tomcat. Ich habe den Dienst eingestellt und das Problem wurde behoben

0
Vishnu

1. Überprüfen Sie in Ihrer Web.xml, ob es mehrere <Servlet-Mapping> -Tags mit unterschiedlichen Namen gibt Wenn dies der Fall ist, löschen Sie die unerwünschten und führen Sie die Ausführung aus. Dies sollte funktionieren  

ODER

Um dieses Problem zu beheben, müssen Sie die .snap-Datei im Verzeichnis löschen.

Gehe zu deinem Workspace von Eclipse, der du bist UsingPath -> workspace.metadata.plugins\org.Eclipse.core.resources\snapfile

Lösche die Snap-Datei.

Nachdem Sie diese Datei gelöscht haben, löschen Sie den Tomcat-Server und anschließend die Server-Laufzeit, die als Apache Tomcat ausgewählt ist . Dann Server erneut hinzufügen und Springen Projekt -> Eigenschaften--. > Projektfacetten -> Auf der rechten Seite werden Registerkarten für Details und Laufzeiten angezeigt. Klicken Sie auf Laufzeiten und aktivieren Sie das Kontrollkästchen für Apache, das bereits vorhanden ist (falls nicht vorhanden, fügen Sie es hinzu.)

Ändern Sie die Portnummern und führen Sie sie aus.

0