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


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

    1. web-app PUBLIC
    2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
    4. <web-app>
    5. <display-name>Archetype Created Web Applicationdisplay-name>
    6. web-app>


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

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

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

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    5. version="4.0">
    6. 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声明,现在我们需要替换掉这个文件。

    1. web-app PUBLIC
    2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
    4. <web-app>
    5. <display-name>Archetype Created Web Applicationdisplay-name>
    6. web-app>


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


             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.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

  • 相关阅读:
    华为云平台部署教程之CNA\VRM的安装
    C/S架构学习之多线程实现TCP并发服务器
    408-Linux基础(网络管理:ifconfig、ping、netstat)
    数学学习与研究杂志数学学习与研究杂志社数学学习与研究编辑部2022年第24期目录
    [剑指 Offer 28]对称的二叉树
    数据结构篇——哈希表
    从零开始手写mmo游戏从框架到爆炸(二十四)— 装备系统二
    开发基于 ChatGPT 分析热点事件并生成文章的网站应用【热点问天】把百度等热点用chatGPT来对热点事件分析海量发文章 开发步骤 多种方式获取利润
    胆固醇-葡聚糖聚醛偶联物(Chol-Dex-CHO)
    实现支持 MJPEG 的播放器
  • 原文地址:https://blog.csdn.net/ok060/article/details/133531800