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を入れる。