IntelliJ IDEA中Tomcat7嵌入式服务器JSP编译1.8版本失效问题
解决Tomcat7 Maven插件运行时JSP编译版本为1.6的问题
配置tomcat7-maven-plugin的JSP编译参数
在pom.xml的tomcat7-maven-plugin节点中添加JSP编译配置,明确指定source和target版本为1.8,同时指定使用javac编译器规避JDTCompiler的版本识别问题:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <serverXml>../server.xml</serverXml> <!-- 保留你的其他现有配置 --> <jsp> <compilerSourceVM>1.8</compilerSourceVM> <compilerTargetVM>1.8</compilerTargetVM> <compiler>javac</compiler> </jsp> </configuration> </plugin>通过启动命令添加JVM参数强制指定版本
修改启动命令,直接传入JSP编译相关的系统参数,覆盖插件默认配置:clean install tomcat7:run -Dtomcat.serverXml=../server.xml -DskipTests -Dspring.profiles.active=alpha -Dorg.apache.jasper.compiler.source=1.8 -Dorg.apache.jasper.compiler.target=1.8检查IntelliJ的Maven运行JDK版本
打开IntelliJ的Run/Debug Configurations,找到对应的Maven运行项,在JRE选项中选择1.8版本的JDK,确保运行环境与项目编译版本一致。
说明
web.xml中的JSP Servlet配置在maven插件启动的嵌入式Tomcat中可能被插件默认配置覆盖,而pom.xml中maven-compiler-plugin的配置仅针对Java类编译,不影响JSP的编译逻辑,因此需要单独为tomcat7-maven-plugin配置JSP编译参数,或通过系统参数强制指定版本。
内容的提问来源于stack exchange,提问作者Ashik K
相关产品推荐
相关产品推荐

