Maven學習筆記—使用Eclipse插件創建Java WebApp項目


使用 Java 的猿們,最多接觸的大概就是 web 項目了吧?在學習 Maven 的過程中,首先當然就是創建一個 webapp 項目。

自己在嘗試的過程中,碰到了很多的問題。我把詳細的過程都記錄下來,以便今后參考。

 

使用 Maven 的 m2eclipse 插件創建 Java WebApp 工程的步驟:
 
如果未搭建好Maven開發環境,請參考前一篇:Maven學習筆記——環境搭建
 
一、新建工程項目:
 
打開 Eclipse, 菜單欄選擇 File -> new -> other,在彈出的對話框中找到 Maven Project.
在彈出的新建 Maven 項目對話框中, 不要勾選第一項 “Create a simple project”,如下圖所示,點擊 Next。
 
 
在列表中找到並選擇“maven-archetype-webapp”,點擊Next.如下圖所示:
 

 

 
填寫項目相關信息,Finish。
 

 

建好的工程結構如下圖:
 
 
可以看到,web資源文件的目錄為 arc/main/webapp
 
第二步:修改JRE版本。
 
項目生成后,JRE 版本默認為1.5 ,我們需要修改成更高版本的。
在項目的 POM.xml 文件中,加入如下配置:
 
  <build>
  <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.1</version>
  <configuration>
  <source>1.7</source>
  <target>1.7</target>
  </configuration>
  </plugin>
  </plugins>
  </build>

(也可以通過修改 settings.xml 全局配置以讓 Maven 默認設置特定版本的 JRE,具體方法這里先不寫了)

設置完后,選中項目右擊,彈出的菜單中選擇 Maven->Update Project .↓↓↓
 

 

 
更新之后,發現項目還存在錯誤。
在項目根目錄右擊彈出菜單,選擇 Build Path ->Configure Buile Path,進入項目的 Java build path 配置頁面:
所示錯誤如下圖,提示缺少(missing)兩個文件夾。但其實文件夾是存在的。
 

 這時只要將 Libraries 標簽中的 JRE System Library 設置為本機默認的就可以解決該錯誤(不知道為什么會這樣)

如下圖,查看 Libraries 標簽↓↓↓
 
 

 雙擊 JRE System Library 項,彈出 JRE 設置界面:↓↓↓

 

 

 直接選 Workspace default JRE.
 
完成后,發現項目還有三個報錯,如下圖所示。別急,我們在接下來的步驟中一個一個解決。
 
 

 

 第三步:添加服務器運行環境(Server Runtime)
 
項目中,index.jsp 顯示有錯誤,錯誤信息為:
 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
 
這時因為缺少了servlet-api、JSP-API、JSTL等包。
我們不需要一個一個把包導進來,因為 Tomcat 等 Servlet 容器都提供了這個包。在 Eclipse 中對項目設置一下運行環境就可以了。
切換到 Libraries 標簽,點擊“Add Library”按鈕。
 
 

 在彈出的對話框中,選擇“Server Runtime”。

 

 選擇 Tomcat 服務器。如果這里沒有服務器配置,請事先配置一個 Tomcat 等服務器。

(不知道如何配置服務器的話,就用搜索引擎搜一番)。

 

 選中 Tomcat,點擊 Finish 后,看到工程已經不再有那兩個 Servlet 的報錯了。

 
第四步:Project Facet 配置
 
到這一步時,項目應該還有一處錯誤:
Java compiler level does not match the version of the installed java project facet.
如下圖所示:
 

  

我們需要通過修改 Project Facets 來解決這個錯誤。

打開項目的 Project Facet 置項,如下圖,將 Java 的版本設置為 1.7,確定。
如果這時已經時1.7了,則無需修改。
(也不是一定需要1.7,基本上和之前步驟配置的 JRE 版本一致即可)
 
 

 

 現在應該不再報錯了。
 
但是我們還需要將 Project Facet 中的 Dynamic web module 的版本設置的更高一些。
如下圖所示,我將它設置為3.0版本。
 

 

這時可能會報如下的錯誤:
 
Cannot change version of project facet Dynamic Web Module to 3.0
 
我在網上找了好多信息,發現所有的解決方法完全沒有效果。
但是偶然的,我發現一個簡單的方法就能解決這個問題(不知道是通用的還是我自己環境中的特例)。
方法如下:
將 Dynamic Web Module 前的勾取消,點擊 Apply。然后再把勾給勾上,發現已經不報錯了。
 
第五步:運行
 
設置完畢,運行一下試試:
右擊項目 -> Run as -> Run on Server。
 
選擇一個服務器:

 

這時項目應該已經配置到服務器中了:

 

 

 點擊 Finish,運行成功后打開鏈接:
http://localhost:8080/hello-maven-web/index.jsp
發現瀏覽器報404錯誤。
檢查項目的部署配置:
 

 

 發現少了 webapp 這個目錄部署路徑。
點擊“Add”,彈出的對話框中選擇“folder”,選中 webapp 文件夾:

 

 

重新運行一次,終於看到 Hello World!
 

 最后,我也不知道為什么,似乎很簡單的事情,會變得如此復雜。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM