maven 遇到failOnMissingWebXml有關問題解決方法:web.xml is missing and is set to true
阿新 • • 發佈:2019-01-23
使用maven建立專案時有時在pom.xml的war處出現failOnMissingWebXml的錯誤,報錯資訊為:web.xml is missing and <failOnMissingWebXml> is set to true;
原因是:maven工程中要求必須新增Web.xml檔案,然而最近的web應用開發中web.xml檔案已經變得可有可無了。不過Maven還沒有跟上這一變化,因此我們有兩種方法解決此問題:
方法一:
如果專案裡沒有web.xml,在專案裡新增一個web.xml,重新整理一下專案,就應該沒有錯誤;如果你的專案在/src/main/webapp/WEB-INF 下有web.xml,但是仍然還是報這個錯誤,需要兩步操作:
1)右擊專案,開啟Properties對話方塊,點選Deployment Assembly選項,在右邊新增一個資料夾,並且儲存設定
2 )在eclispe上方點選Project ->Clean 清理一下這個專案
web.xml內容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
然而方法一似乎並沒有解決問題,所以繼續往下看。
方法二:
只需要處理<failOnMissingWebXml>false</failOnMissingWebXml>被設定成false的問題即可。也就是在pom.xml中新增如下配置即可:
如圖:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>
問題已經解決。這樣做的好處是我們不必在專案生中成一個無用的web.xml檔案。在更新版本(具體從哪一個版本開始我也不知道~~)的maven中已經不存在web.xml檔案缺失的問題。