私は春のフレームワークを使用してWebアプリを開発していますが、jspページの一部で次のエラーが発生しています。
javax.servlet.ServletException cannot be resolved to a type
servlet-api
も含めましたが、それでも同じエラーメッセージが表示されます。この問題を克服する方法は?
これはEclipseでうまくいくと思いますプロジェクトを選択してください→次にプロジェクトメニューバーをクリックしてください→プロパティに移動します- Targeted Runtimes→今、あなたはチェックボックスを選択現在のプロジェクトを実行するために使用しているサーバーの横にある→→適用→それからOKボタン。それだけです、試してみてください。
EclipseはJava ee web api(servlets、elなど)を認識しないようです。 Mavenを使用していて、指定されたサーバーランタイムでEclipseを構成したくない場合は、WebプロジェクトのPOMに以下の依存関係を追加します。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version> <!-- Put here the version of your Java EE app, in my case 7.0 -->
<scope>provided</scope>
</dependency>
プロジェクトのpropertiesに移動します( Alt+Enter または右クリック)
Apache Tomcat v7. underTargeted Runtimeをチェックすると動作します。
[プロジェクト]を右クリックして[プロパティ]を選択し、[プロジェクトファクト]、[ランタイム]タブ、[ターゲットランタイム]の順に選択して、サーバー(Tomcat)を追加します。
maven pom.xmlの問題である場合は、pom.xmlに追加してみてください
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
問題が解決します。
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.2-b02</version>
<scope>provided</scope>
</dependency>
私のために働いた。
ほとんどの人が言ったように、ランタイムサービスを追加すると問題は解決します。 ただしifランタイムサービスがないか、またはGoogle App Engineのようなものがあります任意の方法で、Newボタンの右下のTargeted Runtimesをクリックして、新しいランタイムサーバー環境を追加します。次に、それをチェックしてOKをクリックし、コンパイラーにプロジェクトを再度コンパイルさせます。
それが役に立てば幸い ;)