Tomcatを起動すると、次のエラーが表示されます。
Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors
Tomcatのログにスタックトレースが含まれないのは奇妙に思えます。このようなエラーのスタックトレースを取得するためにTomcatのロギングを増やす方法について誰かが提案していますか?
Tomcatが作成するlocalhost_yyyy_mm_dd.log
OR localhost.yyyy-mm-dd.log
ログを確認します。これらのログは通常、そのタイプの情報を保存します。完全なスタックトレースが標準出力にダンプされるとは思わないでしょう。
次のコンテンツを使用して、WEB-INF/classesにlogging.propertiesという名前のファイルを作成します。
org.Apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].handlers = Java.util.logging.ConsoleHandler
Tomcatはスタックトレースをログに記録しますが、TomcatをIDEから起動すると、ログファイルの場所が常に明確になるとは限りません。 IntelliJから起動すると、CATALINA_BASE
は${home}/.IntelliJIdea10/system/Tomcat/Unnamed_r6-idea
に設定され、ログファイルは[CATALINA_BASE]/logs
にあります。
ログを表示するには、ログファイルを見つけるか、[CATALINA_HOME]/conf/logging.properties
を編集してTomcatロガー出力をコンソールに送信します。以下に、デフォルトのTomcat構成に2番目のハンドラーを追加しました。
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler
これで、完全なスタックトレースがIntelliJ出力に表示されます。
Dec 27, 2011 12:02:45 PM org.Apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter filterChainProxy
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.Java:529)
. . .
ファイルをコピーする必要があります
cp /path/to/solr/example/lib/ext/* /path/to/Tomcat/lib
cp /path/to/solr/example/resources/* /path/to/Tomcat/lib // or inside extracted solr
そしてrestart Tomcat
アプリケーションは、Tomcatとは異なるJREでコンパイルされている可能性があります。
サーバーのJava -version
を確認し、同じバージョンでコードをコンパイルします。私のEclipse標準JREは1.6で、Tomcatは1.5を使用していたため、エラーが発生しました-これは機能しません。
通常、localhost。[date] .logに問題に関する情報があります。ただし、このログに何もない場合があります。これは、プロジェクトの構成が混乱している場合に発生する可能性があります(数人の開発者が長い間作業しており、それぞれが自分で何かを追加しました)。ログの情報なしでこの問題に直面しました。むしろ高速で堅牢なアプローチ:
Web.xmlから問題を引き起こす可能性のあるすべてのものを削除してください。タグを除くすべてを削除することもできます。それでもアプリケーションをデプロイできない場合-続行します。
WEB-INF/classesからすべての* .xml記述子を削除します。アプリケーションをデプロイできない場合-続行します。
Warにあるすべてのロギング構成(logging.properties、log4j.properties)を削除します。展開してみてください。このステップでは、より多くの有益なエラーがありますが、展開はまだ失敗しました。
このエラーをグーグルで調べた結果、プロジェクトには古いバージョンのxercesが含まれており、Tomcatのバージョン(新しいバージョン)と衝突し、アプリケーションがデプロイされないことがわかりました。 Webアプリケーションでのxercesのアップグレード後、すべてが正常になりました。
CentOS 6およびSolr 4.4.0で
このエラーに対処するには、いくつかのlibファイルをコンプする必要がありました
cp ~/solr-4.4.0/example/lib/ext/* /usr/share/Tomcat6/lib/
Tomcatのlog4jロギングのセットアップは非常に簡単です。以下は http://Tomcat.Apache.org/Tomcat-5.5-doc/logging.html から引用されています:
次の内容でlog4j.propertiesというファイルを作成し、common/classesに保存します。
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.Apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/Tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.Apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Log4J(v1.2以降)をダウンロードし、log4j jarを$ CATALINA_HOME/common/libに配置します。
http://wiki.Apache.org/Tomcat/FAQ/Logging をご覧になることもできます
Tomcatにデプロイされたアプリケーションを起動できないという同じ問題が発生しました。しかし、Struts jarセットをCATALINA_HOME\lib(Tomcat dir)ディレクトリにコピーすると、解決されます。これらのjarをWEB_INF\libに入れる必要はありませんが、ビルドパスに入れる必要があります。
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
struts2-convention-plugin-2.2.1.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar
誰かがSEVEREのようなエラーを受け取っている場合:エラーfilterStart 2013年4月29日4:49:20 PM org.Apache.catalina.core.StandardContext startInternal SEVERE:以前のエラーによりコンテキスト[/ TraceMW]の起動に失敗しました
tomcat/libディレクトリにcors-filter-1.5.jarが含まれているかどうかを確認してください。あなたがドットを持っている場合、上記のエラーが発生し、ウルアプリケーションは利用できません。
だから、私はちょうど他のTomcatフォルダからjarファイルをコピーできましたが、上記のエラーは後で表示されませんでした。
私も同じエラーを受け取り、この問題の修正に苦労しました。 Googleの検索に少し時間を費やし、次の解決策を見つけて、私の問題は解決しました。
この問題は、展開パスにStruts2ライブラリがないことによるものでした。ほとんどの人は、ライブラリをコンパイル用に配置し、実行時に必要なライブラリをアタッチするのを忘れがちです。そのため、同じライブラリをWeb展開アセンブリに追加しましたが、問題はオフでした。
一般に、サーバーJDKバージョンはデプロイされたアプリケーションよりも低くなります(より高いjdkバージョンでビルドされます)
同様の問題がありました。レナートのヒントが役立った。古いバージョンのJavaクラスファイル(WEB-INF/classesフォルダーの下)を使用しましたが、問題はなくなりました。したがって、コンパイラーのバージョンの不一致であるはずです。
ほぼ同じ問題に最後の1時間を費やした後、貢献したかっただけです。私の解決策は、どういうわけかアプリケーションの.jarが破損していたため、開発サーバーからjarを配置することで修正されました。
これは私のためにトリックをしました:すべてのライブラリを削除してからコンパイルして実行してください。プロジェクトのエラーを確認するよう促します。ライブラリを適用した後、プロジェクトを再実行します。