当前位置: 首页 > news >正文

【maven】idea中基于maven-webapp骨架创建的web.xml问题

IDEA中基于maven-webapp骨架创建的web工程,默认的web.xml是这样的。

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name>
</web-app>


可以看到默认的web.xml是2.3版本的,这版本不能识别EL表达式,非常不方便,所以一般都会替换成更高版本4.0。

解决方法主要有以下两种,一种是直接overwrites web.xml文件,替换内容,一种是永久修改创建的骨架基础文件。

#1-> 仅对当前项目有效,直接替换web.xml的内容即可

<?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-> 修改创建的骨架基础文件

在IDEA创建基于maven-archetype-webapp的web工程时,其实这个创建过程是依据一个特定的模板来创建的,而这个模板放置在路径为 org.apache.maven.archetypes:maven-archetype-webapp 。maven工程是不放置任何jar包的,所有的jar包都是放在仓库中,这里的模板其实也是jar包,放置在仓库中。

打开本地仓库,找到 [你的本地仓库地址]\org\apache\maven\archetypes\maven-archetype-webapp

打开【1.4】这个文件夹

找到 maven-archetype-webapp-1.4.jar 用解压文件直接打开,我这里用的WinRAR

找到 maven-archetype-webapp-1.4.jar\archetype-resources\src\main\webapp\WEB-INF\web.xml

直接双击打开web.xml,发现就是默认情况下的web声明,现在我们需要替换掉这个文件。

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name>
</web-app>


如果能直接双击打开编辑,直接替换成以下的声明,保存即可。

<?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>
但是也会遇到这样一种情况,直接双击以后默认用浏览器打开,无法直接编辑文件。这种情况下,可以先把web.xml解压到本地,然后修改替换保存之后。

在解压界面,右键->添加文件到压缩文件中,将修改后的web.xml替换到原来的位置,保存关闭退出即可。

需要特别注意的是,因为是.jar文件,不要整个文件解压到本地之后再替换操作,必须直接通过解压管理工具双击打开操作。

这样再次新建基于骨架创建的web工程就会发现默认的web.xml已经成功替换成我们需要的4.0版本啦。

参考资料:

https://blog.csdn.net/sinat_34104446/article/details/82895337?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://www.cnblogs.com/lee-yangyaozi/p/10970316.html
————————————————
版权声明:本文为CSDN博主「爱吃香草冰淇淋的阿喵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coralime/article/details/104847223

http://www.lryc.cn/news/184860.html

相关文章:

  • 【算法题】2034. 股票价格波动
  • APSIM模型】作物模型应用案例
  • io_uring之liburing库安装
  • Python WebSocket自动化测试:构建高效接口测试框架!
  • MySQL数据库——SQL优化(1)-介绍、插入数据、主键优化
  • Flink---10、处理函数(基本处理函数、按键分区处理函数、窗口处理函数、应用案例TopN、侧输出流)
  • 多种方案教你彻底解决mac npm install -g后仍然不行怎么办sudo: xxx: command not found
  • 斐波那契数列 JS
  • IP 地址的分类
  • CDN网络基础入门:CDN原理及架构
  • 李沐深度学习记录2:10多层感知机
  • Python标准库中内置装饰器@staticmethod@classmethod
  • MySQL8 间隙锁在11种情况下的锁持有情况分析
  • C# 图片按比例进行压缩
  • 猜猜 JavaScript 输出:(! + [] + [] + ![]).length
  • MTK Android12静默安装接口
  • 基于电容电流前馈与电网电压全前馈的三相LCL并网逆变器谐波抑制Simulink仿真
  • Python数据攻略-Pandas与统计数据分析
  • 【gcc】RtpTransportControllerSend学习笔记 1
  • 若依分离版-前端使用
  • 微信小程序-2
  • 卷积神经网络的发展历史-ResNet
  • 基于瞬时无功功率ip-iq的谐波信号检测Simulink仿真
  • node安装,nvm管理器
  • 华为云云耀云服务器L实例评测|Ubuntu云锁防火墙安装搭建使用
  • C# OpenCvSharp 实现迷宫解密
  • 趣味工具箱小程序源码
  • 互联网Java工程师面试题·Redis 篇·第二弹
  • FreeRTOS入门教程(信号量的概念及API函数使用)
  • 简易版Pycharm(2023)+Conda开发环境配置教程