javax.servlet.jsp.PageContext 无法解析为类型[重复]
Posted
技术标签:
【中文标题】javax.servlet.jsp.PageContext 无法解析为类型[重复]【英文标题】:javax.servlet.jsp.PageContext cannot be resolved to a type [duplicate] 【发布时间】:2012-01-29 23:04:42 【问题描述】:我在我的 jsp 页面中看到以下错误 -
javax.servlet.jsp.PageContext cannot be resolved to a type
javax.servlet.jsp.JspException cannot be resolved to a type
我看过一篇关于此的帖子,并尝试了一些建议的方法。 BalusC 提供了很好的输入——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>
【问题讨论】:
我现在无法回答我的问题。现在问题已经解决了。我没有将 JSTL1.2 jar 作为依赖项,而是添加了此链接中指定的 JSTL-API 和 JSTL-IMPL jar andygibson.net/blog/quickbyte/… 如果有人在 Eclipse 中遇到此错误,请检查项目属性 -> 项目构面 -> 动态 Web 模块 -> 运行时 【参考方案1】:您需要在您的项目中导入 JSP API,这些 API 不包含在 servlet-api 中
在我的项目中,解决方案是:
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
【讨论】:
***.com/questions/7064269/… 似乎您的解决方案引发了不同的错误。[接受的答案]。【参考方案2】:对我有用的解决方案在this answer 中给出。转到项目属性 > 目标运行时 > 选中运行时复选框(在我的例子中为 Apache Tomcat 7)。 就这样。立即构建项目,一切都会好起来的。
【讨论】:
在 Eclipse/Luna 上也适用于我。我已经包含了处理 Java 依赖项的 servlet-api,只需要告诉 Eclipse 要检查哪个运行时,所有那些烦人的 JSP“错误”就消失了! 这个解决方案对我有用。 它也适用于 Marse 1.1 这适用于 Mac OS X Eclipse,所有这些错误都消失了 为我工作。非常感谢:)【参考方案3】:假设这是 web 应用程序的 pom...
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
其中一些依赖项应设置为已提供,因为它们是由容器提供的。您不应该将这些与您的应用程序捆绑在一起。见Maven dependency scopes。不这样做可能会导致未定义的行为。
具体提供哪些依赖项取决于容器。
【讨论】:
【参考方案4】:“这个答案中给出了对我有用的解决方案。转到项目属性 > 目标运行时 > 选中运行时的复选框(在我的例子中是 Apache Tomcat 7)。 就这样。现在就构建项目,一切都会好起来的。”
这个解决方案对我有用。
【讨论】:
以上是关于javax.servlet.jsp.PageContext 无法解析为类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章