在glassfish中更改JSP编译器版本

时间:2013-01-22 16:22:55

标签: java java-ee glassfish glassfish-3

我在部署时预编译我的JSP页面,但一直收到这些错误:

 Caused by: org.glassfish.deployment.common.DeploymentException: JSP
 Compilation Error: org.apache.jasper.JasperException: PWC6033: Error
 in Javac compilation for JSP

 PWC6199: Generated servlet error: diamond operator is not supported in
-source 1.5   (use -source 7 or higher to enable diamond operator

有谁知道如何更改编译器版本和/或设置来解决此问题?我已经指示glassfish像这样使用JDK7作为java home;

asadmin set "server.java-config.java-home=/usr/java/jdk1.7.0_09"

但这也不起作用。

3 个答案:

答案 0 :(得分:6)

您需要正确设置compilerSourceVM的{​​{1}}和compilerTargetVM属性才能生效。 Look here for more details

答案 1 :(得分:2)

使用Maven或Ant插件预构建JSP页面,即jspc-maven-plugin。您不仅可以在构建和暂存阶段获得调试问题的好处,而且还可以获得部署速度并消除挫败感。

答案 2 :(得分:1)

Aravind的回答仅仅是一个例子。这是我工作的WEB-INF\glassfish-web.xml文件:

<glassfish-web-app>
   <jsp-config>
     <property name="compilerSourceVM" value="8" />
     <property name="compilerTargetVM" value="8" />
   </jsp-config>
</glassfish-web-app>

我把这个文件放在战争中。