【问题标题】:Java project. Problem with JspWriterJava 项目。 JspWriter 的问题
【发布时间】:2011-10-23 12:51:21
【问题描述】:

我正在尝试将一些旧的 JSP Web 项目导入到 Eclipse 中。我对 java 和 eclipse 的体验远非很好。

在其中一个 jsp 文件中出现错误:
无法解析导入 javax.servlet.jsp.JspWriter

代码:

<%@ page import="org.apache.axiom.om.OMAbstractFactory,
             org.apache.axiom.om.OMElement,
             org.apache.axiom.om.OMFactory,
             org.apache.axiom.om.OMNamespace,
             org.apache.axis2.AxisFault,
             org.apache.axis2.Constants,
             org.apache.axis2.addressing.EndpointReference,
             org.apache.axis2.client.Options,
             org.apache.axis2.client.ServiceClient,
             org.apache.axis2.context.ConfigurationContext,
             org.apache.axis2.context.ConfigurationContextFactory,
             javax.servlet.ServletContext,
             javax.servlet.http.HttpServletRequest,
             javax.servlet.http.HttpServletResponse,
             javax.servlet.jsp.JspWriter,                   <- Problem is HERE
             javax.xml.parsers.SAXParser,
             javax.xml.parsers.SAXParserFactory"
     session="false" %>

当然,在我引用 JspWriter 的任何其他地方,我都会遇到同样的错误。

我查看了 Java 构建路径,发现如下:
1) servlet-api.jar - C:\Program Files...
2) 耳朵库
3) JRE 系统库 (jdk1.6.0_25)
4) 网络应用程序库

我曾经有一个用于 Apache Tomcat 6.0 库的项目,它是未绑定的,所以我删除了它。我试图添加它,但不能。当我单击 Add Library > Server Runtime 时,我看到新窗口显示:“选择要添加到类路径的运行时”,但没有任何内容可供选择。

我已安装:面向 Web 开发人员的 Eclipse Java EE IDE、已安装 Apache Tomcat (6.0)、最新版本的 Ant 和 Windows 7 64 位。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: java eclipse jsp tomcat


    【解决方案1】:

    import javax.servlet.jsp.JspWriter 无法解析

    对于 Tomcat,它是 jsp-api.jar 文件的一部分。但是,不要像为servlet-api.jar 那样手动将此文件添加到构建路径,这不是正确的方法!它会使您的 webapp 不可移植 到其他目标运行时(阅读:servletcontainers)。 IE。您的 web 应用程序将仅与 Tomcat 6.0 兼容,但不能与其他容器品牌/版本(如 Tomcat 7、Glassfish、JBoss AS 等)兼容。


    我查看了 Java 构建路径,发现如下:

    1) servlet-api.jar - C:\Program Files...

    删除这个。它只会与您即将配置的任何目标运行时发生冲突。


    我曾经有一个用于 Apache Tomcat 6.0 库的项目,它是未绑定的,所以我删除了它。我试图添加它,但不能。当我单击 Add Library > Server Runtime 时,我看到新窗口显示:“选择要添加到类路径的运行时”,但没有任何内容可供选择。

    转到 Eclipse 中的 Servers 视图。右键单击它并选择新建。选择适当的 servletcontainer 品牌和版本,并逐步完成向导。现在您在 Eclipse 中有一个目标运行时。

    然后,在项目的属性中,转到 Targeted Runtimes 并在其中选择服务器。没有其他事情需要做。 Eclipse 将处理剩余的魔法。

    另见:

    【讨论】:

    • 哇...谢谢大家。我接受了这个作为正确答案,因为像我这样的新手可以遵循这些指示:-)。
    【解决方案2】:

    javax.servlet.jsp.JspWriter 不会出现在您的 Tomcat 发行版的 servlet-api.jar 中。相反,它通常存在于jsp-api.jar 文件中。

    您应该将 Apache Tomcat 6 Server Runtime 重新绑定到项目的类路径中,以便 Tomcat 6 提供的所有 JAR 再次可用。未绑定的 Tomcat 6 服务器运行时除了通知您复制了一个 Eclipse 项目外,没有其他用途,该项目的类路径条目在原始 Eclipse 工作区中有效或可能有效。

    要将 Apache Tomcat 6 服务器重新引入项目的类路径,首先使用现有的 Tomcat 6 安装在 Eclipse 中定义服务器运行时。稍后,将 Server Runtime 作为库添加到项目的构建路径中。

    【讨论】:

      【解决方案3】:

      由于错误仅与“javax.servlet.jsp.JspWriter”有关,我首先会检查该类是否实际存在于您放入项目类路径中的 jar 中。此外,在 Eclipse Java EE 中创建一个具有所需构面的新动态 Web 项目并导入源文件也不是一个坏主意。

      【讨论】:

        猜你喜欢
        • 2017-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        • 2012-10-23
        • 1970-01-01
        • 2019-04-30
        相关资源
        最近更新 更多