解决Idea创建Maven Web工程的web.xml版本问题

一、问题描述

1.在使用Maven创建web工程的时候发现默认web.xml版本居然是2.4的,这个版本连EL表达式都用不了,所以很是糟心

2.所以为了解决Idea创建Maven Web工程的web.xml版本问题,给大家提供了三种解决办法

二、问题解决

1、暂时解决(问题可解决 但不推荐)

解决方案一:

在jsp页面的头部加入如下内容,此方法仅仅解决了EL表达式不能用的问题,不排除有别的错误发生

<%@ page isELIgnored="false" %>

解决方案二:

将项目的web.xml头换成需要的版本,比如Tomcat9.0对应4.0版本,此方法相对方案一来说是不错的选择

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

2、永久解决

通过创建Maven web工程发现,我们选择的是maven-archetype-webapp这个jar包,所以在Maven web项目中生成的web.xml文件就是从该jar包中拷贝出来的,所以我们要做的就是改动此jar包的web.xml文件

在Tomcat安装目录下的webapp/ROOT/WEB-INF中中找到我们需要的web.xml

然后在自己的maven仓库里找到maven-archetype-webapp这个jar包,我的在如下路径

接着使用压缩工具打开jar包,依次进入maven-archetype-webapp-1.4.jararchetype-resourcessrcmainwebappWEB-INF目录中,找到web.xml

最后将此web.xml的头内容替换为我们需要的头信息(也可以直接删除这个web.xml,然后直接从Tomcat安装目录下的webapp/ROOT/WEB-INF中将web.xml给复制过来替换原来的web.xml),两种方式都行

修改完成,保存。重新创建web工程,出现的web.xml就是我们刚刚修改的web.xml,至此,问题完美解决。。。。撒花

原文地址:https://www.cnblogs.com/MoooJL/p/13578761.html