2009-04-30 53 views
22

由於this thread顯示,似乎有越來越JSP來編譯GWT託管模式與新的Jetty服務器的問題:GWT + Jetty JSP編譯器問題的解決方法? (Java 1.5的源代碼級別無法識別)

2. ERROR in /tmp/Jetty_0_0_0_0_8080_war____ut4fm1/jsp/org/apache/jsp/ 
test_jsp.java (at line 53) 
     new java.util.ArrayList<String>(); 
           ^^^^^^ 
Syntax error, parameterized types are only available if source level 
is 1.5 

有誰有解決方法嗎?有可能this commit可能是相關的。我不知道在Eclipse之外(例如在命令行上)應該使用org.eclipse.jdt.core.JDTCompilerAdapter等效於構建。這對我們採用GWT 1.6是一個真正的阻礙,所以任何指針都非常感謝。

回答

15

此問題由JspServlet使用的默認值生成,該值使用1.4編譯源/目標值。

  1. 您可以通過添加

    <servlet> 
        <servlet-name>jsp</servlet-name> 
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
        <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> 
    
  2. cofigure這個servlet有因爲你不能與當前的碧玉編譯​​器5.0.28配置JspServlet多了一個問題。您應該下載jasper-compiler-5.0.30並確保在gwt之前的類路徑中。還有其他最新的jasper編譯器jar,但是我不會爲jakarta-tomcat-5.0.28兼容性而感到痛苦。 我通過在GWT 1.6.4中添加對jakarta-tomcat-5.0.30的依賴來解決了這個問題。您可以從http://raisercostin.googlecode.com/files/gwt-windows-1.6.4.raisercostin.zip

我太描述的解決方案在http://code.google.com/p/raisercostin/wiki/GwtEclipsePluginDebug下載與這種依賴性編譯GWT。

+0

爲我工作.. – Milhous 2010-12-20 20:02:02