Tomcat在Java7级别编译JSP。我可以在WAR文件中而不是在Tomcat配置中更改此设置吗?
我有一个Java web应用程序,打包为WAR文件,部署到Tomcat 8.5.49 servlet容器中。我的应用程序中的JSP使用一些Java8语法。默认情况下,Tomcat8.5.49在Java7级别编译JSP。这可以在Tomcat配置文件Tomcat在Java7级别编译JSP。我可以在WAR文件中而不是在Tomcat配置中更改此设置吗?,java,tomcat,configuration,Java,Tomcat,Configuration,我有一个Java web应用程序,打包为WAR文件,部署到Tomcat 8.5.49 servlet容器中。我的应用程序中的JSP使用一些Java8语法。默认情况下,Tomcat8.5.49在Java7级别编译JSP。这可以在Tomcat配置文件$CATALINA_BASE/conf/web.xml()中重写 开箱即用,Tomcat在其web.xml中有此部分: <servlet> <servlet-name>jsp</servlet-name>
$CATALINA_BASE/conf/web.xml
()中重写
开箱即用,Tomcat在其web.xml
中有此部分:
<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>
我想找到一种方法来做同样的事情,但不涉及Tomcat配置文件。我正在建立一个基于Tomcat官方图像的Docker图像,并希望尽可能少地对其进行更改,以减少未来升级的复杂性
有没有一种方法可以覆盖web应用程序中JSP编译的默认语言版本级别?例如,我可以在WAR文件的web-INF
子目录中的web.xml
文件中做些什么
<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.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<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>