2009-04-30 51 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