2013-01-22 21 views
3

我編譯預上部署我的JSP頁面,但不斷收到這些錯誤:更改JSP編譯器版本在GlassFish中

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家;

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

但是這也行不通。

回答

2

使用Maven或Ant插件預編譯JSP頁面,即jspc-maven-plugin。您不僅可以在構建和分期階段獲得調試問題的好處,還可以快速部署並消除挫折感。

+0

你可以看看這個問題http://stackoverflow.com/questions/38139152/glassfish-4-and-offline-jsp-compiler –

6

您需要正確設置compilerSourceVMcompilerTargetVM屬性jsp-config才能使其正常工作。 Look here for more details

+0

感謝'Pangea',我已經通過我的'WEB-INF'中的'glassfish-web.xml'試過了這個,但仍然有相同的錯誤。執行'java -version'還會產生以下內容>>>> Java版本「1.7.0_09」 Java™SE運行時環境(build 1.7.0_09-b05))。這只是拖着我堅果;-) – Bitmap

+2

在sun-web.xml中的以下內容適用於glassfish v2:' ' – Roben

0

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> 

我把這個文件裏面的戰爭。