【问题标题】:Servlet exception in javajava中的Servlet异常
【发布时间】:2010-10-29 11:24:42
【问题描述】:

我将一个 java 项目(war 文件)导入到 Eclipse。当我尝试运行它时,出现以下错误:

java.lang.Error: Unresolved compilation problems: 
The type List is not generic; it cannot be parameterized with arguments <User>
Syntax error, parameterized types are only available if source level is 5.0

我试着用谷歌搜索它。我发现我必须更改合规性设置。我将编译器合规级别更改为 5,但并没有解决问题。有人可以帮我解决这个问题吗?提前致谢。

【问题讨论】:

  • 这是在 JSP 中,还是在正确的 Java 代码中?

标签: java eclipse jsp servlets


【解决方案1】:

您可能需要注意两件事。

  1. 编译器设置。
  2. 运行时设置。

我想你应该注意 (1)。你可能错过的是第二个。当您尝试运行该war文件时,请转到“运行方式”->“运行配置”。在那里您可以选择 Java 版本。我认为这是您遇到问题的地方。尝试将其设置为 Java 1.5 或更高版本。

http://img638.imageshack.us/img638/8845/runconfig.jpg

【讨论】:

    【解决方案2】:

    检查您的 servlet 容器的 java 版本。您可以通过键入

    在 shell 中检查 Java 版本
    java -version
    

    如果不是 1.5+ 则指向更高版本的相关 JDK..

    【讨论】:

    • 是java“1.5.0_11”版本。
    【解决方案3】:

    那场战争在某处使用“泛型”。而泛型仅适用于 java 5 及更高版本,这就是错误所说的

    请检查您的 java 编译器级别

    【讨论】:

    • 我使用的是 java 版本 1.5.0_11" .
    【解决方案4】:

    解决此问题的第一步是完全忽略提示“-source 1.5 to enable generics”。该消息将带您无处可去!原因是它源自 javac 编译器,而您需要配置 jasper JSP 编译器。幸运的是,这很容易,尽管在 Tomcat 站点上查找非常复杂。您需要做的就是编辑您的 TOMCAT_INSTALL\conf\web.xml。将以下几行添加到 org.apache.jasper.servlet.JspServlet

    <init-param>
    <param-name>compilerSourceVM</param-name>
    <param-value>1.5</param-value>
    </init-param>
    <init-param>
    <param-name>compilerTargetVM</param-name>
    <param-value>1.5</param-value>
    </init-param>
    

    这样 servlet 看起来像下面这样

    [web.xml]

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>compilerSourceVM</param-name>
            <param-value>1.5</param-value>
        </init-param>
        <init-param>
            <param-name>compilerTargetVM</param-name>
            <param-value>1.5</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
    

    您现在已经配置了 Tomcat JSP 服务器... 配置 Eclipse Eclipse 的 EE 版有一个很好的特性,它使您能够创建一个动态 Web 项目 - 本质上是一个分解的 war 文件,并为您管理服务器实例并设置调试。一旦你知道它是如何工作的,就很方便。基本上,标准设置的作用是将 Tomcat 配置文件从您的安装目录复制到一些类似于 c:\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\conf\ 的模糊路径需要注意的是,它会非常频繁地从您安装的 Tomcat 目录中复制文件,因此按照上面的说明在此目录中编辑 web.xml 只会在很短的时间内起作用。

    您也可以在设置第一台服务器时尝试编辑 Eclipse 安装的服务器项目下的 web.xml。我很难让 Eclipse 获取此文件中的更改..

    相反,只需删除您的服务器实例并重新创建它。您的更改现在已被提取,您可以开始了!

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多