3

EclipseでApacheTomcatサーバーを実行しようとしましたが、次の問題が発生しました。

  1. Catalina_Baseは一時的な場所を使用しています!
  2. 依存関係の「jarファイル」をデプロイできませんでした。
  3. Webプロジェクトを実行すると、次の例外が発生しました。
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
4

1 に答える 1

6

次の手順を実行することで、上記の3つの問題を解決することができました。

1-サーバー(この場合はtomcat)をダブルクリックします[表示されない場合は、に移動しWindows -> Show/View -> Other -> Server -> Serversます]。サーバー名は「Tomcatv7.0Serveratlocalhost」のようになります。

サーバーをダブルクリックし、サーバーの場所が「Tomcatインストールを使用する(Tomcatインストールを制御する)」に設定されていることを確認します。サーバーの場所を編集できない場合:サーバーを停止しますright-click the server and select Publish。それでも編集できない場合:

サーバーを右クリック->プロジェクトの追加と削除および削除を行ってから、プロジェクトを再度公開します。

「Tomcatインストールを使用する」を選択する理由は、Catalina_Baseが一時的な場所を指し、次のようになるためです。

"-Dcatalina.base="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1"

これにより、ApacheTomcatスタートページを開こうとしても404エラーが発生します。[Tomcatインストールを使用する]を選択すると、Catalina_HomeとCatalina_Baseの値は同じになり、どちらもTomcatインストールディレクトリを指します。例:

-Dcatalina.base="C:\apache-tomcat-7.0.37" -Dcatalina.home="C:\apache-tomcat-7.0.37"

引数を確認するには:

サーバーをダブルクリックし、[起動構成を開く]をクリックすると、[引数]タブに値が表示されます。

2-依存関係(外部Jarファイルなど)を使用する場合は、ファイルがWeb-Inf / libにあることを確認してから、次のようにしてクラスパスに追加します。

プロジェクトを右クリック->ビルドパス->ビルドパスの構成[ライブラリ]タブを選択[外部JARの追加]をクリックして、Web-Inf/lib内のjarファイルを選択します

次に、依存関係をデプロイする必要があります。これを行うには:

プロジェクトを右クリック->プロパティ左側から「DeploymentAssembly」を選択します。右側で「追加」->「Javaビルドパスエントリ」->「次へ」をクリックします。プロジェクトに必要なすべてのjarファイルを追加します。

そうしないと、使用されているjarファイルのクラスが見つからないという例外が発生します。

3- Web-Inf /libにApacheTomcatからのjarファイルが含まれていないことを確認します。これにより、冗長性が発生し、上記の例外が発生します。

于 2013-03-18T19:20:30.497 に答える