Tomcat エラー

1.Tomcatの起動時などに警告が出る

エラー
jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class

原因
Tomcatの「common/lib」に入っている「servlet-api.jar」とプロジェクト中に含まれる「servlet-api.jar」が重複していることが原因です。

対策
プロジェクトに含まれる「servlet-api.jar」をビルドパスから削除し、tomcatの「servlet-api.jar」をビルドパスに追加する。

2.警告:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:

原因
「server.xml」のデフォルトの設定で、AprLifecycleListenerを使うように書かれているけど、通常はAPR(Apache Portable Runtime)は存在しないので警告が出る。

対策
無効:「server.xml」の設定を無効にする。
導入:「tcnative-1.dll」をダウンロードし、Tomcatの「bin」ディレクトリに格納する。
JVMパラメーター設定に「-Djava.library.path=[Tomcatをインストールしたディレクトリ]/bin」を設定。

3.Tomcat起動時にEOFExceptionが発生する

致命的: 持続されたセッションをロード中のIOExceptionです: java.io.EOFException java.io.EOFException

原因
EclipseのコンソールウィンドウでTomcatを強制停止していたのが原因。
tldCache.serかSESSIONS.serが壊れたんだと推測。

対策
workspaceにある該当の SESSIONS.ser ファイルを削除する。
workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\~\SESSIONS.ser

4.EclipseでTomcatが起動しない

・プロジェクトパスに日本語を含めない。
・外部jarを追加する場合にそのパスに日本語を含めない。

原因:
Tomcatプラグインの設定は、保存するファイルとなるTomcat xxx.launch ファイルに、XML形式で保存するのだが、Eclipseの設定画面で入れた文字列が、そのままの文字コードで保存されるため、文字コードの違いで読み込めないためエラーとなる。
WinXP:Windows-31J
Vista、Win7:UTF-8

対策:一度削除してパスから日本語を削除して再設定。

5.スタートメニューではTomcatは起動するのに、eclipseでTomcatが起動しない。

原因:
[window][設定][Tomcat][JVMの設定]の 「クラスパス(生成されたクラスパスの前)」に
正しくないパスのクラスが設定されている。

対策:全て削除

6.「絶対URI: XXXX はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません」

tomcat6からtomcat7へアップグレードしたときのエラー

tomcat6まではMETA-INFの中とか、WEB-INF/libの中にあれば読んでくれたけど、tomcat7からは、

・web.xmlの中にTDLの配置場所を書く
・WEB-INF/lib以下のライブラリの中
・WEB-INF直下

web.xmlのtaglib-location設定でも可能

7.JSPのクラスをコンパイルできません

対策
・TOMCATのlibにtools.jarを入れる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です