В соответствии с используемой версией Tomcat, механизм JSP, предоставляемый tomcat, использует конкретную версию Java по умолчанию для компиляции и запуска JSP.
Tomcat 7 используетверсия 1.6
compilerSourceVM - с какой версией JDK совместимы исходные файлы?(Значение по умолчанию: 1.6)
compilerTargetVM - С какой версией JDK сгенерированные файлы совместимы?(Значение по умолчанию: 1.6)
Tomcat 8 использует версию 1.7
compilerSourceVM - Какая версия JDK является источникомфайлы совместимы с?(Значение по умолчанию: 1.7)
compilerTargetVM - С какой версией JDK сгенерированные файлы совместимы?(Значение по умолчанию: 1.7)
Tomcat 9 использует версию 1.8
compilerSourceVM - Какая версия JDK является источникомфайлы совместимы с?(Значение по умолчанию: 1.8)
compilerTargetVM - С какой версией JDK сгенерированные файлы совместимы?(Значение по умолчанию: 1,8)
Конечно, вы можете изменить используемые версии, если значения по умолчанию не соответствуют вашим требованиям.
Это можно сделать с помощьюизменив параметры инициализации сервлета org.apache.jasper.servlet.JspServlet
, объявленного в вашем глобальном $CATALINA_BASE/conf/web.xml
.
Например, web.xml
дистрибутива tomcat 8 определил JspServlet следующим образом:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
...
Например, чтобы указать версию 1.8
как источник и цель для файлов JSP, вы должны изменить ее следующим образом:
...
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<!-- added params -->
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<!-- end added params -->
<load-on-startup>3</load-on-startup>
</servlet>
...