GWT + Jetty JSP编译问题的解决方法? (Java 1.5源代码级别无法识别)

时间:2009-04-30 14:51:56

标签: java eclipse jsp gwt

正如this thread所示,似乎存在使用新Jetty服务器在GWT托管模式下编译JSP的问题:

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来说,这是一个真正的阻碍,因此任何指针都受到高度赞赏。

1 个答案:

答案 0 :(得分:15)

此问题由JspServlet使用的默认值生成,该默认值使用1.4编译源/目标值。

  1. 您可以通过添加

    来配置此servlet
    <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. 还有一个问题,因为您无法使用当前的jasper-compiler-5.0.28配置JspServlet。您应该下载jasper-compiler-5.0.30并确保在gwt之前的类路径中。还有其他最新的jasper编译器罐子,但我并不觉得与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
  3. 下载使用此依赖关系编译的GWT

    我也在http://code.google.com/p/raisercostin/wiki/GwtEclipsePluginDebug描述了解决方案。