2010-10-29 91 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在這個文件中找到更改。

相反,只需刪除您的服務器實例並重新創建即可。您的更改現在已經完成,您準備好了!