Zgodnie z wersją Tomcat, silnik JSP dostarczany przez tomcat używa określonej domyślnej wersji Java do kompilowania i uruchamiania JSP.
Tomcat 7 używa wersji 1.6
compilerSourceVM - jaka wersja JDK są źródłem pliki kompatybilne z ? (Wartość domyślna: 1.6)
compilerTargetVM - Która wersja JDK jest zgodna z wygenerowanymi plikami z? (Wartość domyślna: 1,6)
Tomcat 8 używa wersji 1.7
compilerSourceVM - jaka wersja JDK są źródłem pliki kompatybilne z ? (Wartość domyślna: 1,7)
compilerTargetVM - Która wersja JDK jest zgodna z wygenerowanymi plikami z? (Wartość domyślna: 1.7)
Tomcat 9 używa wersji 1.8
compilerSourceVM - Jaka wersja JDK są źródłem pliki kompatybilne z ? (Wartość domyślna: 1.8)
compilerTargetVM - Która wersja JDK jest zgodna z wygenerowanymi plikami z? (Wartość domyślna: 1,8)
Oczywiście można zmienić używane wersje, jeśli wartości domyślne nie są zgodne z wymaganiami.
Można to zrobić poprzez modyfikację parametrów startowych na org.apache.jasper.servlet.JspServlet
serwletu deklarowanej w globalnej $CATALINA_BASE/conf/web.xml
.
Na przykład web.xml
rozkładu kocur 8 zdefiniował JspServlet w ten sposób:
<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>
...
Na przykład, aby określić wersję 1.8
zarówno jako źródło i cel dla plików JSP, należy zmienić go w ten sposób:
...
<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>
...
Awesome. W końcu udało nam się uaktualnić do Tomcat 7, ale z pewnością wygląda na to, że twoje rozwiązanie wystarczyłoby. –
Możesz również dodać to do 'web.inf' aplikacji. –