Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的Servlet异常_Java_Eclipse_Jsp_Servlets - Fatal编程技术网

java中的Servlet异常

java中的Servlet异常,java,eclipse,jsp,servlets,Java,Eclipse,Jsp,Servlets,我将一个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 i

我将一个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
java.lang.Error:未解决的编译问题:
类型列表不是泛型的;不能使用参数对其进行参数化
语法错误,参数化类型仅在源级别为5.0时可用

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

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

java -version

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

war正在某处使用“泛型”。泛型只适用于Java5及以上版本,这就是错误所在


请检查您的java编译器级别

您可能需要注意两件事

  • 编译器设置
  • 运行时设置
  • 我想你应该好好照顾我。你可能错过了第二个。当您尝试运行该war文件时,请转到“运行方式”-->“运行配置”。在这里,您可以选择Java版本。我想这就是你遇到问题的地方。尝试将其设置为Java1.5或更高版本


    解决此问题的第一步是完全忽略提示“-source 1.5启用泛型”。那条消息不会带你去任何地方!原因是它源于javac编译器,而您需要配置jasperjsp编译器。幸运的是,这相当容易,尽管在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>
    
    
    编译器资源虚拟机
    1.5
    编译器目标
    1.5
    
    这样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>
    
    
    jsp
    org.apache.jasper.servlet.JspServlet
    叉
    假的
    xpoweredBy
    假的
    编译器资源虚拟机
    1.5
    编译器目标
    1.5
    3.
    
    您现在已经配置了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获取此文件中的更改


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

    这是JSP还是正确的Java代码?它是Java“1.5.0_11”版本。我使用的是Java版本1.5.0_11”。