GWT+Jetty JSP 编译器问题的解决方法? (Java 1.5 源代码级别无法识别)
Posted
技术标签:
【中文标题】GWT+Jetty JSP 编译器问题的解决方法? (Java 1.5 源代码级别无法识别)【英文标题】:workaround for GWT+Jetty JSP compiler issue? (Java 1.5 source level not recognized) 【发布时间】:2010-10-22 21:08:45 【问题描述】:正如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 可能是相关的。我不知道应该使用与 org.eclipse.jdt.core.JDTCompilerAdapter
等效的内容在 Eclipse 之外进行构建(例如在命令行上)。这对于我们采用 GWT 1.6 来说是一个真正的障碍,因此非常感谢任何指针。
【问题讨论】:
【参考方案1】:这个问题是由 JspServlet 使用的默认值产生的,它使用 1.4 编译源/目标值。
您可以通过添加来配置此 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>
还有一个问题,因为您无法使用当前的 jasper-compiler-5.0.28 配置 JspServlet。您应该下载 jasper-compiler-5.0.30 并确保在 gwt 之前位于您的类路径中。还有其他最新的 jasper 编译器 jar,但我不知道与 jakarta-tomcat-5.0.28 的兼容性如何。
我也在http://code.google.com/p/raisercostin/wiki/GwtEclipsePluginDebug 描述了解决方案。
【讨论】:
以上是关于GWT+Jetty JSP 编译器问题的解决方法? (Java 1.5 源代码级别无法识别)的主要内容,如果未能解决你的问题,请参考以下文章