2010-10-29 46 views
2

我导入了一个java项目(war文件)来eclipse。当我试图运行它时,出现以下错误:java中的Servlet异常

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,但并未解决问题。任何人都可以帮我解决这个问题吗?提前致谢。

+0

这是在一个JSP或适当的Java代码? – skaffman 2010-10-29 11:29:29

回答

2

有两件事情你可能有照顾。

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

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

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

+0

已经是1.5+ – narayanpatra 2010-10-29 12:12:26

+0

你是对的,问题解决了,谢谢。 – narayanpatra 2010-10-29 12:28:07

1

检查您的servlet容器的Java版本。您可以通过如果不1.5+点的较高版本的JDK有关..

+0

这是java“1.5.0_11”版本。 – narayanpatra 2010-10-29 11:32:16

0

,战争是使用“仿制药”的地方打字

java -version 

壳检查Java版本。和泛型仅适用于Java 5中那错误是说

请检查你的Java编译器级别

+0

我正在使用java版本1.5.0_11“。 – narayanpatra 2010-10-29 12:13:43

0

第一步解决这一问题,是完全忽略提示“-source 1.5启用泛型”。这个消息将带你无处!原因是它来源于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安装的Servers项目下的web.xml。我很难让Eclipse在这个文件中找到更改。

相反,只需删除您的服务器实例并重新创建即可。您的更改现在已经完成,您准备好了!