使用Maven 創建一個簡單的 javaWeb 項目:
本篇屬於 創建 JavaWeb 項目的第三篇: 建議閱讀本篇之前 閱讀 用 Eclipse 創建一個簡單的web項目 ;本篇是這這篇文章的基礎上 進行的.
步驟:
1: 在新建向導中選擇: Maven Project
點擊下一步 這里先選擇 不使用 骨架
補充 公司Id 和 項目 id 以及選擇 打包方式 : war
點擊完成后的項目框架:
先看一下 項目屬性: 右擊屬性: 選擇 web deployment Assmbly 先查看一下 項目部署路徑:
這時候 發現報錯了 : 點進去看看 報什么錯:
web.xml is missing and <failOnMissingWebXml> is set to true :意思是: web.xml 缺失了; 但是 failOnMissingWebXml 被設置是 true ;
這個錯誤有兩種解決方案: 一種是 把缺失的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了?