ターミナルで動作しているときにスタックトレースなしで「ローカルホストのサーバーTomcatv7.0サーバーを起動できませんでした」


81

それで、週末の前にうまく機能したこのプロジェクトを手に入れました(他の問題がありますが、少なくともTomcatが起動しました)。これで、Tomcatサーバーを起動しようとすると、すぐに次のエラーが発生します。

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

ただし、ターミナルからTomcatを正常に起動でき、この問題はEclipseで発生しています(Web開発者向けのEclipse Java EE IDE。バージョン:Juno Serviceリリース1ビルドID:20121004-1855

私は解決策を見つけようとしていくつかのフォーラムを精査しましたが、役に立ちませんでした!困っている人を助けてください。


完全なスタックトレースエラーを投稿しますか?
アミ

@ILLAはありません。それだけ。それについての奇妙なことです...
マーヴィンいまいましく

いい質問です。私が今まで遭遇した中で最も奇妙なエラーです。MimeはFedora17で発生しました。日食はFedoraリポジトリからダウンロードされます。
huahsin68 2013年

Serversフォルダー内の特定のフォルダーを削除し、Eclipseでサーバーを削除してから、Eclipseで新しいサーバーを作成することで解決しました([サーバー]タブ)
CodyBugstein 2014

4
これは、開発者が直面する一般的な問題の1つです。私の経験から、ほとんどの場合、エラーはweb.xmlファイルが原因であるとアドバイスできます。新しく作成されたサーブレットおよびサーブレットマッピングタグをいくつか削除してみてください。
Prateek Joshi

回答:


58

この問題を解決する.snapには、次のディレクトリにあるファイルを削除する必要があります。

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

このファイルを削除した後、問題なくEclipseを起動できます。


33
このファイルはどこにありますか?私はそのようなファイルを持っていません
William Kinaan 2013年

18
そのディレクトリ内にそのようなファイルはありません。
MrYo 2013

34
@MarvinEffingこのファイルを削除しましたが、役に立ちませんでした。
lrrr 2013年

1
これは私にとってはうまくいきましたが、なぜうまくいったのか説明できますか?このファイルは何ですか?なぜエラーが発生するのですか?また、ファイルを見ることができない人々へ:日食を再開してみてください、それは私がしなければならなかったことです。
ケビンワークマン2016年

1
スナップファイル(0.snap)を削除した後、Eclipseに移動し、サーバーを右クリックして[クリーン]を選択しました。次に、サーバーを起動すると、サーバーが機能します。
sunlover3 2016

104
  1. Windowsから[サーバー]タブを開きます→[ビューを表示]→[サーバー]メニュー

  2. サーバーを右クリックして削除します

  3. [サーバー]タブで[新規]→[サーバー]に移動して、新しいサーバーを作成します

  4. 「ランタイム環境の構成…」リンクをクリックします

  5. Apache Tomcatv7.0サーバーを選択して削除します。これにより、Tomcatサーバーの構成が削除されます。これは多くの人が間違えるところです–彼らはサーバーを削除しますが、ランタイム環境は削除しません。

  6. [OK]をクリックして、上の画面を終了します。

  7. 以下の画面から、Apache Tomcat v7.0サーバーを選択し、次のボタンをクリックします。

  8. Tomcatインストールディレクトリを参照します

  9. [次へ]をクリックして、展開するプロジェクトを選択します。

  10. プロジェクトを追加したら、[完了]をクリックします

  11. 次に、サーバーを起動します。これにより、サーバーのタイムアウトや古いサーバー構成の問題が修正されます。このソリューションは、「ポートの更新が行われていない」問題を修正するためにも使用できます。


12
残念ながら、これは何も解決しません... Eclipse Kepler、Windows 7 32ビット、Tomcat 7 ...私はまだ本当の解決策を探しています
Miklos Krivan 2014年

2
EclipseからTomcat構成を削除し、サーバーを再度追加しました。私のために働いた。EclipseJuno。
user2771655 2014年

1
たくさんの男に感謝します!それで、ランタイム環境を削除することはTricをしましたか?
Rahal Kanishka 2016年

1
@MiklosKrivanが言ったように、これは私にとってもうまくいきませんが、なぜ、そしてどのようにそれが他の人にとってうまくいくのか知りたいのですが、それがなぜ私にとってうまくいかないのか知りたいです。
ナイトフューリー2018年

37

この問題を解決するには、次のディレクトリのtmpフォルダを削除する必要があります

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

このフォルダーの削除に問題がある場合は、Eclipseを再起動してから、もう一度そのフォルダーを削除してください。


フォルダfolderの名前が表示されません。どこにありますか?私は
ubuntu12.04

@MMMMSでは、隠しファイルと隠しディレクトリの前にドットが付きます。ほとんどの* nixシステムでは、このようなファイルやディレクトリをls -a
FRK 2017

22

私の場合、問題はxmlどういうわけかコードにありました。

私のweb.xmlファイルは次のようになりました:

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

でも私はそれを次のように変更しました

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

これで、サーバーが正しくロードされます。奇妙な。


2
@WevServletパスが不適切なアノテーションでも同様の問題が発生しました。
thomas88wp 2015年

2
正確に@ thomas88wp、アノテーション@WebServletを使用してサーブレットマッピングを削除するか、またはその逆です。私の問題を解決してくれてありがとう:)
L.Zaki 2015

ありがとうございました!私は頭をひったくりましたが、これは助けになりました!
Shivangi Gupta 2017

15

サーバーローカルホストのTomcatv7.0サーバーを起動できませんでした。

このエラーは、次の3つのケースで解決されます

1.プロジェクトとサーバーをクリーンアップする

または

2.このディレクトリから.snapファイルを削除します

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

または

3.このディレクトリから一時ファイルを削除します

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

1
一時フォルダーを削除しましたが、サーバーは正常に起動しましたが、Webアプリケーションが実行されません。
Rahul Munjal 2015年

Ubuntu18.04でEclipse2019-03とTomcat8.5.43を使用して作業しました:)
yanike19年

Tomcatとクリーン上で右クリック
チンモイ

13

サーブレットクラスとweb.xmlでサーブレットマッピングを定義しているため、この問題が発生しました。

サーブレットクラスとweb.xmlでサーブレットマッピングを定義したかどうかを注意深く確認する必要があります。

1)削除 @WebServlet("...")

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

または

2)削除 <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>

理由:

サーブレット3.0をサポートするApacheTomcat7.0を使用しています。

Java EEアノテーションを使用すると、標準のweb.xmlデプロイメント記述子は次のようになります。

オプション。サーブレット3.0仕様によると

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


これは間違いなくそれです。同じサーブレットを2回マッピングしていましたが、この修正は機能しました。
ジョージ

11

上記の答えはどれも私にはうまくいきませんでした。EclipseIDEでTomcat9を使用しています。そのため、EclipseNeonで次の手順を試しました。

ステップ1:Serversタブをクリックしてサーバーを表示します。私の場合、次のようになります。

ここに画像の説明を入力してください

ステップ2:サーバーを右クリックして選択Propertiesすると、次のウィンドウが表示されます。をクリックSwitch Locationすると、場所がデフォルトの場所から下の画像に示されている場所に変更されます。をクリックしApplyOKから、ウィンドウを閉じます。

ここに画像の説明を入力してください

ステップ3Tomcatサーバーをダブルクリックすると、Overview下の画像に示すようにオプションが開きます。そのServer Locations部分は私が行ったときにアクティブでした(私はすでにそれを行っており、サーバーを実行しているため、画像では非アクティブになっています)、2番目のラジオボタンオプションであるを選択しましたUse Tomcat installation (takes control of Tomcat installation)。次に、このオプションを閉じ、プロンプトが表示されたら変更を保存して、サーバーを起動しました。それはうまく働き始めました。

ここに画像の説明を入力してください


1
どうもありがとう、それは私のために働いた唯一のオプションです!
マイク

これで問題は解決しました、ありがとう。実際に機能するソリューションの得票数が少ないのは驚くべきことです。
科学的方法

7

私の場合、問題はweb.xmlファイルにあり、url-patternの前に「/」を付けるのを忘れていました(例:/login.do)。

私の問題を解決したのは、@ Ajak6で前述したように、プロジェクトの外部JARライブラリとしてサーブレットAPIを追加することでした。

ただし、次のようにターゲットランタイムにTomcatを追加することで、より良い方法を見つけました。

1)プロジェクト>プロパティ

2)サイドメニューで[ターゲットランタイム]を選択します

3)Tomcatを選択します([適用]をクリックします)

4)[OK]をクリックします


私の場合、アノテーションでは問題なく動作しましたが、web.xmlにサーブレット構成を追加したときに/を置くのを忘れたため、この問題が発生しました。幸いなことに、これは私がすばやく修正したものです。エマドありがとう!
ppalancica 2016年

6

新しいワークスペースを作成することで、この問題を解決することもできます。


32
それは解決されない問題から逃げるでしょう。
Yauraw Gadav 2013

1
それはおそらくプロジェクトマッピングの何かであるため、実際にはそうではありません。
ジョージ

6

web.xmlファイルを開きます。(どこにあるかわからない場合は、グーグルで検索してください。)次のようになります。

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

<?xml version="1.0" encoding="UTF-8"?>線のすぐ下にタグ<element>を追加し、一番下のタグで閉じ</element>ます。完了。


開始し、エラーはなくなりました。しかし、聞きません。要素は何ですか?
ヤーガレム2017年

5

Tomcatサーバーでも同じ問題が発生しましたが、詳しく調べてみると、web.xmlファイルに新しいタグを追加し、サーバーがそれを受け入れないことがわかりました。ファイルをチェックして、更新が行われたかどうかを確認してから、Tomcatを再起動してください。良いだろう 。


1
web.xmlの<servlet>と<servlet-mapping>を混同していて、このエラーが発生しました。ありがとう!あなたの解決策は私のために働いた。
Aafreen Sheikh 2014

1
わかりました、それは私にとってもうまくいきました。もちろん、それらの間で混乱した場合、<servlet>がコンテナに定義され、<servlet-mapping>がhttpリクエストのサーブレットとURLでマッピングされるため、サーバーは起動しません。
REDA 2014

ああ、信じられない。私も同じ問題を抱えていました。ありがとう、私はあなたにどれほど感謝しているかをあなたに言うことができません。
Rakesh Yadav 2017年

3

すべてが1秒間正常に機能していた後、サーバーからこのエラーが発生し始めました。私はここに記載されているすべての答えを調べましたが、私にとってうまくいったのはこの単純な解決策でした。

サーバーを削除してから、新しいサーバーを構成します

何も変更しておらず、エラーが表示されただけの場合は、.snapファイルやその他の一時ファイルの削除を開始しないでください。それを行うと、より多くの問題が発生するだけです。また、ユーザーによる変更が原因でエラーが発生した場合、このエラーは間違いなくweb.xmlファイルのエラーが原因で発生します。

PSワークスペースを変更しても、問題がプロジェクトにある場合は、プロジェクトをインポートするときに新しいワークスペースで引き続き発生するため、まったく役に立ちません。


2

サーバーコンソールで既存のTomcatサーバーを削除してみてください。コンソールがない場合は、[ビューの表示]-> [サーバー]に移動し、サーバーを右クリックして削除します。新しいサーバーを追加すると、きっと役に立ちます。


私はすべてのコメントを読みました..これは私のために働いた唯一のオプションです。
VineelaThonupunuri19年

2

私は同じ問題を抱えていました、そしてここでの答えのどれも私のケースを助けませんでした。それで、数時間の検索の後、私は私のための解決策を見つけました、そしてそれが他の誰かを助けることを願っています。

これは、「ローカルホストのサーバーTomcatv7.0サーバーを起動できませんでした」というユーザー向けのソリューションです。EclipseでTomcatサーバーを構成し、そのサーバーでプロジェクトを実行しようとした後のエラー。

EclipseでTomcatサーバーを構成した後、Tomcatから「WEB-INF」ディレクトリをコピーする必要があります。C:\ ...%TOMCAT_HOME%\ webapps \ ROOTを使用すると、「WEB-INF」がコピーされ、EclipseプロジェクトのWebContentフォルダーに貼り付けられます(web.xmlファイルを上書きします)。

お役に立てれば。


2

私の場合、エラーはservlet-api.jarが見つからなかったというものでした。なぜ突然それがエラーを出し始めたのか分かりません。以前は問題なく実行されていたためです。ビルドパスオプションでservlet-api.jarを指定した後、サーバーは正常に起動しました。


上記のすべてを試した後、これは実際に私を導きました。一部の依存関係が利用できなかった
Young Emil

2

私の場合、Tomcatフォルダー(すべてのファイルが含まれているフォルダー)を別の場所にデプロイしました。

次に、Eclipseを開始し、jspとサーブレットを使用してプロジェクトを実行しようとすると、これと同じエラーが発生しました。

ここですべての答えを試しましたが、それでも何も変わりませんでした。私にとっての解決策は、すべてのTomcatJARファイルを次のようにプロジェクトライブラリに配置することでした。

  1. Eclipseに移動します
  2. 作業中のプロジェクトを右クリック>ビルドパス>ビルドパスの構成...>ライブラリ>外部JARの追加
  3. Tomcat / binおよびTomcat / libからすべてのJARファイルを選択します
  4. 「OK」を押します

これで、プロジェクトのLibrariesフォルダーにそれらが表示され、機能するはずです。


2

1-ワークスペースディレクトリ».metadata».plugins»org.eclipse.wst.server.coreフォルダーに移動します。

2-tmpフォルダーを削除します。

3-EclipseIDEを再起動します


1

私のEclipseワークスペースでは、以下の手順を実行することで解決しました。ウィンドウ->設定->ネットワーク接続->「アクティブプロバイダー」を「ネイティブ」ではなく「直接」に変更します。あなたはそれを試すことができます。


1

私は今週末同様の問題に直面していました。上記のすべてのトリックを試しましたが、どれもうまくいきませんでした。(Eclipse LUNAでの作業)

次に、特定のサーブレットを作成する直前に、Apache Tomcatv7.0を正常に実行していたことを分析しました。以下に示すように、これは「RefreshServlet」でした。

RefreshServlet.java

そのため、サーブレットを練習して「AutoRefresh」の機能を理解します。このサーブレットをアプリケーションから削除すると正常に動作しますが、このサーブレットを追加して実行しようとすると、「Apache Tomcatv7.0を起動できませんでした」という同じエラーが表示されます。

理由はわかりませんが、このサーブレットを削除するだけで、アプリケーションの残りの部分を実行できます。

したがって、私からの最終的な提案は、他のトリックが機能していない場合は、このエラーが発生する前に、作成した最新のサーブレットまたはクラスを削除してみてください。アプリケーションの残りの部分でも問題なく機能する可能性があります。

さらに説明をいただければ幸いです。ありがとう


1
複数のサーブレットが同じURLでリッスンしている可能性があります。これにより、Tomcatの起動に失敗します。
alttag 2016年

1

Web記述子(web.xml)またはサーブレット(注釈を付ける場合は、「@ WebServlet( "/ servlet_name")」などを確認してください)に重複がないか確認します。重複がある場合は削除します。


1

[サーバー]タブでTomcatサーバーを右クリックし、[Tomcat作業ディレクトリのクリーンアップ]をクリックして、この問題を修正しました。


1
これが私を助けてくれたものですServer Tomcat v8.5 Server at localhost failed to start.
NipunTharuksha20年

0

apache-tomcatを右クリックし、プロパティを選択して、[デフォルトに戻す]をクリックします。


0

私の場合、問題は渡された引数の構文エラーが原因でした。'-D'を使用すると、キーと値の間にスペースがありました

すなわち

-DMyArg= MyValue

の代わりに

-DMyArg=MyValue

0

EclipseサーバータブでApacheサーバーをダブルクリックします。tomacat管理ポートを8010に変更し、httpポートを8082に変更し、Ajpポートを8011に変更します。


0

与えられたすべての答えがうまくいかない場合は、現在のワークスペースを変更してください。

ファイル->ワークスペースの切り替え

それはあなたの問題を解決するでしょう。


最後の良いオプション。しかし、作業スペースの変更にはいくつかの頭痛の種があります。
Sagar007 2017年

0

私の場合、問題はTomcatの別のインスタンスが実行されていたことにありました。サービスを停止しましたが、問題は解決しました


0

上記のすべての手順を試しましたが、問題は解決しませんでした。

最後に、以下の手順で解決しました。

1-ワークスペースディレクトリ内の.logファイルを確認します。Javaバージョンの問題

"原因:java.io.IOException:プログラム" C:\ jdk1.7.0_45 \ bin \ java "を実行できません:CreateProcessエラー= 193、%1はjava.lang.ProcessBuilder.start(不明)の有効なWin32アプリケーションではありませんSource)at java.lang.Runtime.exec(Unknown Source)at java.lang.Runtime.exec(Unknown Source)at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:869)... 80 more

原因:java.io.IOException:CreateProcess error = 193、%1はjava.lang.ProcessImpl。(ネイティブメソッド)at java.lang.ProcessImpl。(不明なソース)java.langの有効なWin32アプリケーションではありません。 ProcessImpl.start(不明なソース) "

正しいOS互換のJDKをインストールしましたが、問題は解決しました。PS:Eclipseを介してJDKパスを明示的に設定しました([ウィンドウ]-> [設定]-> [インストール済みJRE])が、正しいJDKパスを設定した後は、正常に機能します。


0

Web.xmlで、名前の異なる複数の<サーブレットマッピング>タグがあることを最初に確認します。存在する 場合は、不要なタグを削除して実行します。これは正常に機能するはずです。

または

この問題を解決するには、ディレクトリにある.snapファイルを削除する必要があります。

使用しているEclipseのワークスペースに移動しますPath-> workspace.metadata.plugins \ org.eclipse.core.resources \ snapfile

スナップファイルを削除します。

このファイルを削除した、Tomcatサーバーを削除します 次にApachetomcatとして選択されているサーバーランタイムも削除します。次に、サーバーを再度追加し、[プロジェクト]-> [プロパティ]-> [プロジェクトファセット]-> [右側]に移動すると、[詳細]タブと[ランタイム]タブが表示されます。[ランタイム]をクリックして、すでに存在するApacheのチェックボックスをオンにします(存在しない場合は追加します)

ポート番号を変更して実行します。


0

プロジェクトのすべての依存関係をMavenローカルリポジトリ(.m2)から削除してみてください。

パス:C:\ Users \ user_name \ .m2 \ repository

Eclipseを閉じて再度開くと、すべての依存関係が自動的にダウンロードされます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.