javax.servlet.jsp.PageContext无法parsing为types

我在我的jsp页面看到下面的错误 –

javax.servlet.jsp.PageContext cannot be resolved to a type javax.servlet.jsp.JspException cannot be resolved to a type 

我已经看到了这个post,并尝试了一些build议的东西。 BalusC提供了很好的input–JSTL1.2和Standard.jar不能一起使用。 我做了这个,并且解决了这个问题 – 但是它正在重现。 我不确定是否有更多的瓶子碰撞。 我已经将所有的jar定义为Maven中的依赖项。 下面是我指定的pom.xml的依赖关系 –

 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.38</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.6</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.6</version> </dependency> </dependencies> 

您将需要在您的项目中导入JSP API,这些不包含在servlet-api中

在我的项目中,解决scheme是:

  <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> 

在这个答案中给出了解决scheme。 转到项目属性>目标运行时>select运行时checkbox(在我的情况下是Apache Tomcat 7)。
就这样。 现在就build立这个项目,一切都会好的。

假设这是一个Web应用程序的POM …

 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> 

这些依赖关系中的一些应该按照容器提供的方式进行设置。 你不应该将这些与你的应用程序绑定。 请参阅Maven依赖关系范围 。 不这样做可能会导致未定义的行为。

究竟提供哪些依赖关系取决于容器。

“这个解决scheme适用于我,在这个答案中给出。转到项目属性>目标运行时间>select运行时的checkbox(在我的情况下,Apache Tomcat 7)就是这样,现在只需构build项目,一切都会好的“。

这个解决scheme为我工作。