使用Maven 建立一個簡單的 javaWeb 項目:html
本篇屬於 建立 JavaWeb 項目的第三篇: 建議閱讀本篇以前 閱讀 用 Eclipse 建立一個簡單的web項目 ;本篇是這這篇文章的基礎上 進行的.java
步驟:web
1: 在新建嚮導中選擇: Maven Project apache
點擊下一步 這裏先選擇 不使用 骨架 api
補充 公司Id 和 項目 id 以及選擇 打包方式 : war 瀏覽器
點擊完成後的項目框架:tomcat
先看一下 項目屬性: 右擊屬性: 選擇 web deployment Assmbly 先查看一下 項目部署路徑: app
這時候 發現報錯了 : 點進去看看 報什麼錯:框架
web.xml is missing and <failOnMissingWebXml> is set to true :意思是: web.xml 缺失了; 可是 failOnMissingWebXml 被設置是 true ; webapp
這個錯誤有兩種解決方案: 一種是 把缺失的web.xml 給補回來; 一種是 設置 <failOnMissingWebXml> 爲 false
一個web項目 一定少不了 web.xml 因此 我們的解決方案就是 把 缺失的web.xml 給 補回來.
怎樣補回來? 就是把 目前的項目 轉換成 動態的web項目就Ok 了;
右擊屬性後 選擇項目構面: 作這一步目的是把項目轉換成爲動態web項目: 把丟失的web.xml給補回來;
1; 第一步先選擇 JDK 版本 和 javaScrpit 版本 : 點擊 應用 和 肯定
2: 再次點擊屬性 項目構面 選擇 Dynamic Web Module : 若是tomcat 版本是 7.0 則選 3.0 ; tomcat 8/8+ 選 3.1 ; tomcat 6/6- 選 3.0- ;
下面還有一個進一步配置: 詢問 要不要 建立 自動生成 web.xml 這裏最好選擇要 否則還得本身手動建立;
點擊肯定以後 再看一下 項目 結構:
1:多了一塊: webContent
2: 不報錯了; webContent 目錄下面是否是有 web.xml 文件;
3: 若是 你的沒有出現 webContent 目錄 ;必定要上面的步驟;先選擇JDK和 Javascript 版本 肯定以後再選擇 dynamic web module 版本 ;
由於 dynamic web module 是依賴於 JDK 版本的;
此時 再看一下 項目部署路徑:
右擊屬性: web dployment Assembly :
是否是 發現項目部署路徑變化了? 以前的webapp 路徑是否是沒有了? 猜一下這說明什麼?
1: webapp 和 webContent 是起相同做用的 只保留一個就OK了; 通常都是保留 webapp (我我的以爲一方面緣由是這樣的目錄結構看着更順眼吧)
因此 下一步的工做就是1: 修該項目結構目錄(webapp 和 webContent 只保留一個,通常都是保留 webapp); 2:修改web deployment assembly 中的部署路徑;
將 webContent 目錄下面的內容 拷貝至 webapp下面;並刪除 webContent 目錄;
配置web deployment 路徑 :
先 刪除test 和 webContent 目錄;
再添加:選擇 webapp目錄
再看一下 完成後的目錄結構: 若是 pom.xml 報錯; 把裏面的pom.xml 剪貼 再 粘貼一下 就OK了;
至此 項目的結構目錄算是搭建好了;
接下來 修改 pom.xml文件: 這裏貼出 個人 pom.xml文件;
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.etoak</groupId>
<artifactId>mjw01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- javaEE -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
</dependency>
<!-- servlet start -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- servlet end -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<skipTests>true</skipTests>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<finalName>mjw01</finalName> <!-- 這裏是 項目名 -->
</build>
</project>
再接下來 再webapp 下面 新建一個index.jsp 頁面 ( 注意 不能建到 WEB-IBF 目錄下面 , 由於這個目錄下面的文件 是不能經過 地址欄的路徑直接訪問到的;)
最後就剩測試了 ;來 輸入 在瀏覽器地址欄 輸入 項目路徑試試 : http://http://localhost:8080/mjw01/
是否是 OK了?