Tomcat 7.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
エラーを解決するにはどうすればよいですか。私はいくつかの同様の投稿を調べましたが、有用ではありませんでした。
Webアプリのservlet-api.jar
には、/WEB-INF/lib
ファイルなどのサーブレットコンテナ固有のライブラリがあります。これはnot右です。それらをすべて削除します。 /WEB-INF/lib
には、サーブレットコンテナではなく、Webアプリ固有のライブラリのみを含める必要があります。サーブレットコンテナ(Tomcatなど)は、サーブレットコンテナ固有のライブラリを既に提供しているはずです。異なるmake/versionの任意のサーブレットコンテナからライブラリを提供すると、この種の問題が発生します。Webアプリケーションは、それらのライブラリとは異なるmake/versionのサーブレットコンテナで実行できないためです。から発展する。
IDEプロジェクトの権利。 Howdo I Eclipseプロジェクトにjavax.servlet APIをインポートしますか?
Caused by: Java.lang.NoClassDefFoundError: HttpServletRequest
上記の問題は、javax
ライブラリーが見つからないことが原因である可能性があります。
私は同じ問題を解決しました:
Eclipseでプロジェクトを右クリック→Properties
→Java Build Path
→Libraries
→Add library...
→Server Runtime
→Apache Tomcat
アプリケーションの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>
...
...チュートリアルによる。これを削除しても、サーブレットは機能し、エラーは発生しませんでした。
あなたのpom.xmlに以下を追加してください。
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
最初のSpring MVC webappで試していたとき、私は同じ問題を抱えています。私がやったことは、リンクから与えられたjarファイルをダウンロードしました (Spring Frameworkのダウンロード) 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サーバーを使用してwebappを実行することができました。 :)
みんなありがとう。上記のすべては、ファイルC:\Users\debasish\workspace\.metadata\.plugins\org.Eclipse.wst.server.core
その後、サーバーを再作成します。
ただし、これらのファイルの内容を削除する前に、まずサーバーを削除してください。
wEB-INF/libフォルダーにservlet-api.jarファイルを追加する必要があります
Web.xmlファイル内のサーブレットの宣言を削除したところ、うまくいきました。
幸運を
私が得た同じエラー
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
Eclipseワークスペースからプロジェクトを削除し、プロジェクトの.settingsフォルダーを削除して、Eclipseに再インポートしました。私のためにトリックをしました。
これは、クラスパスの依存関係を使用し、それらを/ 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>
私は同じ問題を抱えていましたが、原因は commons-logging-1.2.jar の欠落でした
lib
フォルダーに追加すると、Apache Tomcat 7サーバーは問題なく実行されました。