1. ホーム
  2. java

[解決済み] Tomcat 5.5でWebアプリケーションを展開するときにError listenerStartを解決するにはどうすればよいですか?

2022-02-08 20:48:02

質問

SpringとHibernateを使用するApache WicketウェブアプリケーションをTomcat 5.5インスタンスにデプロイしました。Tomcat Managerインターフェイスに移動すると、配備したWebアプリケーションが実行されていないことがわかります。Start'を押すと、次のエラーメッセージが表示されます; "FAIL - Application at context path /spaghetti could not be started".

私のcatalina.logには、次のように記載されています。

Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar)   - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class  
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Error listenerStart  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Context [/spaghetti] startup failed due to previous errors

web.xmlからの抜粋です。

    <listener>
        <リスナークラス>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

どんな助けでも大いに結構です。

解決方法は?

/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar
/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar

あなたは ではない には、サーバ固有のライブラリはありません。 /WEB-INF/lib . appserver自身のライブラリに残してください。クラスパスの衝突を招くだけです。の中のappserver独自のライブラリはすべて取り除いてください。 /WEB-INF/lib (また JRE/libJRE/lib/ext を配置した場合)。

アプリケーションサーバー固有のライブラリがウェブアプリのライブラリに含まれる一般的な原因は、コンパイルエラーを修正するための正しい方法だと考えるスターターがいるからです。 javax.servlet クラスが解決できない。Webアプリケーションのライブラリに入れるのは、間違った解決方法です。コンパイル時にクラスパスでそれらを参照する必要があります。 javac -cp /path/to/server/lib/servlet.jar などにするか、IDEを使っている場合は、IDEでサーバーを統合し、Webプロジェクトをサーバーと関連付けるとよいでしょう。そうすると IDE は自動的にサーバー固有のライブラリをクラスパスに取り込みます ( ビルドパス を使用します。