1. 程式人生 > >(親測解決)Idea建立Maven Web工程的web.xml版本問題解決

(親測解決)Idea建立Maven Web工程的web.xml版本問題解決

目錄

一、問題描述

1.在使用Maven建立web工程的時候發現預設web.xml版本居然是2.4的,這個版本連EL表示式都用不了,所以很是糟心

2.所以為了解決Idea建立Maven Web工程的web.xml版本問題,給大家提供了兩種解決辦法

二、問題分析

1.首次建立Maven工程,會聯網下載web有關的jar包,其中最重要的一個就是我們建立工程的時候選擇的maven-archetype-webapp-1.3.jar這個jar包

2.在IdeanMaven web專案中生成的web.xml檔案就是從該jar包中拷貝出來的,所以我們要做的就是改動web.xml和此jar包

三、問題解決

3.1 暫時解決

1.暫時解決方法只能解決當前專案,新建一個專案還會出現這個問題

2.要做的就是將專案的web.xml頭換成需要的版本,比如我換成4.0版本

  • 將需要的版本頭替換原來的2.4版本頭

  • 需要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>

3.不建議隨便貼上一個頭替換原來的web.xml頭,最好是根據自己的伺服器如Tomcat的版本來替換,推薦從Tomcat伺服器中的web.xml中把頭部分貼上過來進行替換或者直接將web.xml檔案拷貝過來替換為原來的web.xml,圖示

  • 在Tomcat安裝目錄下的webapp/ROOT/WEB-INF中有我們需要的web.xml

4.重啟Idean 的伺服器,如Tomcat,問題解決

3.2 永久解決

1.上述方法只能解決一個專案問題,但是我們並不想每次建立web專案都要像上面一樣,很麻煩,所以我們這裡永久性解決

2.我們建立web專案的時候發現使用:分隔了一個路徑和jar包名稱,前者其實就是Maven倉庫座標,後者就是web專案核心jar包

3.根據提供的座標(路徑)找到maven-archetype-webapp這個jar包

  • 我的路徑:d:\maven\MavenRepository\.m2\repository\org\apache\maven\archetypes\maven-archetype-webapp\1.3\

4.我們使用壓縮軟體開啟這個jar包,注意是開啟而不是解決,如使用2345好壓開啟,一次進入以下路徑到WEB-INF目錄中就可以看到有一個web.xml檔案

  • maven-archetype-webapp-1.3.jar\archetype-resources\src\main\webapp\WEB-INF

5.雙擊開啟,注意不是解壓!將此web.xml的頭內容替換為我們需要的頭資訊(也可以直接刪除這個web.xml,然後直接從Tomcat安裝目錄下的webapp/ROOT/WEB-INF中將web.xml給複製過來替換原來的web.xml)

6.修改完成,儲存,然後關閉開啟的檔案,這個時候壓縮軟體會提示資訊已經改變,是否重新壓縮,選擇是,修改完成

7.重新建立web工程,出現的web.xml就是我們剛剛修改的web.xml