29

Tomcat7.0.27を入手しました。私はTomcatを45秒開始する時間を確保しました。また、Tomcatの古いバージョンでも正常に実行されていました。しかし、それを実行すると、次のエラーが発生します:

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
    at java.util.concurrent.FutureTask.get(FutureTask.java:83)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 7 more
Caused by: java.lang.NoClassDefFoundError: HttpServletRequest
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at org.apache.catalina.startup.WebAnnotationSet.getDeclaredMethods(WebAnnotationSet.java:470)
    at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:275)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:381)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:858)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: HttpServletRequest
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
    ... 21 more
May 11, 2012 10:09:21 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
    at java.util.concurrent.FutureTask.get(FutureTask.java:83)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 more
May 11, 2012 10:09:21 AM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 11 more
May 11, 2012 10:09:21 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 561 ms

エラーを解決するにはどうすればよいですか。私はいくつかの同様の投稿を調べましたが、それが役に立たなかった。

4

17 に答える 17

46

Webアプリには、servlet-api.jarファイルのようなサーブレットコンテナ固有のライブラリがあります/WEB-INF/lib。これは正しくありません。それらをすべて削除します。/WEB-INF/libには、サーブレットコンテナではなく、Webアプリに固有のライブラリのみが含まれている必要があります。サーブレットコンテナ(Tomcatなど)は、サーブレットコンテナ固有のライブラリをすでに提供している必要があります。異なるメーカー/バージョンの任意のサーブレットコンテナからライブラリを提供する場合、Webアプリはそれらのライブラリとは異なるメーカー/バージョンのサーブレットコンテナで実行できないため、この種の問題が発生します。から発展する。

IDEプロジェクトが正しく設定されていないため、コンパイル時エラーが発生した場合、これはかなり一般的なスターターの間違いです。Eclipseプロジェクトにjavax.servletAPIをインポートするにはどうすればよいですか?も参照してください。

于 2012-05-11T17:55:49.733 に答える
19

Caused by: java.lang.NoClassDefFoundError: HttpServletRequest

上記の問題は、javaxライブラリが見つからないことが原因である可能性があります。

私は同じ問題を解決しました:Eclipseでプロジェクト
を右クリックProperties→→→→→→Java Build PathLibrariesAdd library...Server RuntimeApache Tomcat

于 2013-05-29T12:51:47.170 に答える
4

あなたのpom.xmlに以下を追加してください。それは私のために働きます。

     <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
     </dependency>
于 2015-11-02T07:36:57.773 に答える
3

アプリケーションのWEB-INF/libディレクトリ(またはそこにある他のjar)にservlet-api.jarがありませんでした。問題は、WEB-INF/web.xmlにこれがあったことでした...

    ...
    <servlet>
      <servlet-name>MyServlet</servlet-name>
      <servlet-class>com.bizooka.net.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>MyServlet</servlet-name>
      <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
    ...

...チュートリアルによると。それを削除してもサーブレットは機能し、エラーは発生しませんでした。

于 2015-05-24T20:13:10.037 に答える
0

最初のSpringMVCWebアプリを試していたときに同じ問題が発生しました。私がやったことは、リンク(ダウンロードスプリングフレームワーク)から与えられたjarファイルをダウンロードすることでした。zip抽出フォルダーのjarファイルの中で、私が使用する予定だったjarファイルは次のとおりです。

  • org.springframework.asm-3.0.1.RELEASE-A.jar

  • org.springframework.beans-3.0.1.RELEASE-A.jar

  • org.springframework.context-3.0.1.RELEASE-A.jar

  • org.springframework.core-3.0.1.RELEASE-A.jar

  • org.springframework.expression-3.0.1.RELEASE-A.jar

  • org.springframework.web.servlet-3.0.1.RELEASE-A.jar

  • org.springframework.web-3.0.1.RELEASE-A.jar

しかし、エラーが発生し、解決策を探していると、次のjarも必要であることがわかりました。

  • commons-logging-1.0.4.jar

  • jstl-1.2.jar

次に、2つのjarファイルを別々に検索してダウンロードし、それらを / WEB-INF/libフォルダーに含めました。そしてついに、Tomcatサーバーを使用してWebアプリを実行することができました。:)

于 2016-03-28T04:31:14.593 に答える
0

WEB-INF/libフォルダーにservler-api.jarファイルを追加する必要があります

于 2016-06-29T07:30:33.730 に答える
0

web.xmlファイルのサーブレットの宣言を削除しましたが、機能します。

幸運を

于 2016-08-28T21:27:18.130 に答える
0

みんなありがとう。ファイルからすべてのコンテンツを削除してからC:\Users\debasish\workspace\.metadata\.plugins\org.eclipse.wst.server.coreサーバーを再度作成したことを除いて、上記のすべてが失敗しました。

ただし、これらのファイルの内容を削除する前に、まずサーバーを削除してください。

于 2016-12-09T11:51:52.097 に答える
0

これは、クラスパスの依存関係を使用し、/ WEB-INF / libにコピーしない、すべてのMavenユーザー向けです。前にこれ(依存関係ライブラリをコピーする)を追加するだけです。</plugin>

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>process-sources</phase>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <outputDirectory>WebContent/WEB-INF/lib</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
于 2017-04-02T10:38:26.427 に答える
0

同じ問題が発生しました。原因は commons-logging-1.2.jarの欠落でした。

それをフォルダに追加すると、libApacheTomcat7サーバーが問題なく実行されました。

于 2017-06-15T11:50:09.817 に答える
0

私が得たのと同じエラー

Caused by: org.apache.catalina.LifecycleException: A child container failed during start

Eclipseワークスペースからプロジェクトを削除し、プロジェクトの.settingsフォルダーを削除して、Eclipseに再インポートしました。私のためにトリックをしました。

于 2018-03-24T15:25:51.077 に答える
0

私もこの問題を抱えていました。それを取り除くために私がしたことは、プロジェクトとEclipseワークスペースから既存のサーバー(私の場合はTomcat)の構成を削除することだけでした。

私の場合、この問題は、Mavenの設定をいじって、最終的にそれらもねじ込んだときに発生しました。しかし、最終的にはMavenの問題を修正して、Tomcatサーバーが起動せず、プロジェクトに関係するさまざまなアプリのアプリケーションコンテキストを読み込めなかったことを認識しました。そのとき、既存のサーバー構成を削除することにしました。

次に、Apacheサーバーをもう一度追加しました。次に、プロジェクト固有の設定/追加を行います。そして、それはついに魅力のように機能しました。

于 2020-12-09T06:46:04.620 に答える
-1

したがって、問題はelcipseのメタデータエラーに関連しています。この構成が保存されているメタデータフォルダーに移動します。私にとって、誤りの1つは次のとおりでした。

SEVERE: Error starting static Resources java.lang.IllegalArgumentException: Document base C:\Users\Cannibal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FoodQuantityService does not exist or is not a readable directory

だから、あなたの日食のワークスペースに行くと、それはすべてのために異なり、そのすべてのコンテンツを削除します。私のサービスはFoodQuantityServiceという名前だったので、 org.eclipse.wst.server.core内のすべてのファイルを削除しましたが、その前にEclipseからサーバー構成を削除しました

現在のサーバー構成を削除する

次に、新しい構成ファイル->新規->その他->サーバーを作成し、Tomcatを選択してから、公開するプロジェクトを作成します。サーバーを起動すると、すべて問題ありません。

于 2013-06-02T17:46:19.103 に答える
-1

使用していて現在ワークスペースで閉じているプロジェクトでこの問題が発生する可能性がある場合は、Eclipse内のサーバーフォルダーからコンテキストを削除するか、プロジェクトを開いてみてください。

于 2014-04-07T07:19:55.350 に答える
-1

Eclipse-jeeを使用しているときに同じ問題に遭遇しました。この問題の理由は、Webアプリに2つ以上の重複する@WebServlet( "/ yourServlet")定義があったため、重複を排除することです。

于 2014-04-19T13:53:41.717 に答える
-1

1EclipseEEプロジェクトエクスプローラーで「プロジェクト」を右クリックします2プロパティをクリックします3ターゲットランタイムをクリックします4現在使用しているバージョンのチェックボックス5適用して閉じます

これでうまくいくはずです。

于 2019-07-01T21:48:13.267 に答える
-2

私はあなたと同じ問題を抱えていたので、正しい注釈をインポートするようにしてください。

javax.servlet.annotation.*

于 2013-10-23T17:37:08.580 に答える