解决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.jar\archetype-resources\src\main\webapp\WEB-INF目录中,找到web.xml
最后将此web.xml的头内容替换为我们需要的头信息(也可以直接删除这个web.xml,然后直接从Tomcat安装目录下的webapp/ROOT/WEB-INF中将web.xml给复制过来替换原来的web.xml),两种方式都行
修改完成,保存。重新创建web工程,出现的web.xml就是我们刚刚修改的web.xml,至此,问题完美解决。。。。撒花