82

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

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

ただし、ターミナル経由で Tomcat を正常に起動できます。この問題は Eclipse で発生しています ( Eclipse Java EE IDE for Web Developers. Version: Juno Service Release 1 Build id: 20121004-1855 ) 。

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

4

34 に答える 34

108
  1. Windows → Show View → Servers メニューから Servers タブを開きます。

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

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

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

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

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

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

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

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

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

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

于 2013-07-08T06:13:17.817 に答える
60

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

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

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

于 2012-11-06T04:32:07.473 に答える
23

私の場合、問題は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>

これで、サーバーが適切にロードされます。変。

于 2014-08-29T03:53:05.433 に答える
8

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

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

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

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

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

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

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

于 2016-01-20T15:09:11.653 に答える
7

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

于 2013-07-20T06:54:31.520 に答える
4

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

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

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

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

于 2016-08-08T10:23:32.547 に答える
2

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

これは、「Server Tomcat v7.0 Server at localhost failed to start.」を取得した人のためのソリューションです。Eclipse で Tomcat サーバーを構成し、その上でプロジェクトを実行しようとすると、エラーが発生します。

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

お役に立てれば。

于 2014-09-29T19:17:36.177 に答える
2

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

于 2014-03-11T06:58:26.410 に答える
1

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

于 2016-08-05T08:53:09.183 に答える
1

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

于 2014-07-03T12:01:47.887 に答える
1

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

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

RefreshServlet.java

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

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

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

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

于 2015-08-23T06:00:34.053 に答える
0

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

すなわち

-DMyArg= MyValue

それ以外の

-DMyArg=MyValue
于 2014-02-11T20:58:45.973 に答える
0

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

于 2016-07-25T05:46:24.520 に答える
0

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

于 2013-11-05T22:07:34.833 に答える
0

double click on apache server in eclipse server tab. now change tomacat admin port to 8010, http port change to 8082 and Ajp port change to 8011.

于 2014-05-18T18:58:53.980 に答える