1. 程式人生 > >Eclipse中Maven的使用以及Pom.xml詳解

Eclipse中Maven的使用以及Pom.xml詳解

Eclipse中建立Maven專案

一、Maven專案的建立

1. 點選File->New->Other->搜尋maven->選擇Maven Project點選Next:

建立Maven專案.jpg

2. 勾選第一項,表示跳過骨架選擇,點選Next:

跳過骨架選擇

3. 輸入專案相關資訊:

桌面專案資訊

Web專案資訊

注:我們這裡演示的是web版的Maven專案,所以我們這裡使用的Project為MavenWarDemo。

4. 建立web專案存在的問題

  • 剛建立完成後會出現錯誤,可以通過problems看出是因為缺少web.xml檔案,我們通過右鍵單擊專案選擇JavaEE Tools->Generate Deployment Descriptor Stub可以讓Eclipse自動生成web.xml檔案(當然自己也可以去專案下去新建web.xml):

生成web.xml.jpg

  • 自動建立的專案的JRE版本預設為1.5,我們需要將其改為我們需要的版本,在專案想的pom.xml裡面新增如下程式碼,即可將版本設定為1.8。
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version
>
3.5</version> <!-- 配置詳細的資訊 --> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin
>
<!-- 可以通過這種方式配置Tomcat版本 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat8-maven-plugin</artifactId> <version>2.1</version> </plugin> --> </plugins> </build>

然後需要更新我們的專案,右鍵單擊我們的專案選擇Maven->Update Project…:

更改jdk版本

最終成型的web專案目錄結構為:

專案目錄結構

目錄結構詳解:

  • src/main/resources:用來存放資原始檔
  • src/main/java:用來存放 java 原始碼檔案
  • src/main/test:用來存放測試程式碼
  • target:是用來存放 Maven 編譯好的位元組碼的地方

二、演示web專案

1. 建立Servlet

在src/main/java資料夾下直接建立Servlet(快捷方式),會發現出現如圖所示的錯誤:

建立Servlet出錯.jpg

2.pom.xml中新增對應包的座標

這是因為我們缺少servlet-api.jar包的原因,但是我們不需要匯入此包,只需要在pom.xml中配置該jar包的座標即可,進入到pom.xml檔案中去,右鍵單擊然後按照如圖所示進行:

pom中新增jar座標

新增servlet-api包

Maven Scope詳解:

    1. compile:編譯範圍

    compile是預設的範圍;如果沒有提供一個範圍,編譯範圍依賴在所有的classpath 中可用,同時它們也會被打包。而且這些dependency會傳遞到依賴的專案中。

    1. provided:已提供範圍

    provided 明瞭dependency 由JDK或者容器提供。例如如果開發了一個web 應用,可能在編譯 classpath 中需要可用的Servlet API 來編譯一個servlet,但是你不會想要在打包好的WAR 中包含這個Servlet API;這Servlet API JAR 由你的應用伺服器或者servlet容器提供。已提供範圍的依賴在編譯classpath (不是執行時)可用。它們不是傳遞性的也不會被打包。

    1. runtime:執行時範圍

    runtime 依賴在執行和測試系統的時候需要,但在編譯的時候不需要。比如可能在編譯的時候只需要JDBC API JAR,而只有在執行的時候才需要JDBC驅動實現。

    1. test:測試範圍

    test範圍依賴 在一般的編譯和執行時都不需要,它們只有在測試編譯和測試執行階段可用。

    1. system:系統範圍

    system範圍依賴與provided 類似,但是你必須顯式的提供一個對於本地系統中JAR 檔案的路徑。這麼做是為了允許基於本地物件編譯,而這些物件是系統類庫的一部分。這樣的構件應該是一直可用的,Maven也不會在倉庫中去尋找它。如果你將一個依賴範圍設定成系統範圍,你必須同時提供一個 systemPath 元素。注意該範圍是不推薦使用的(你應該一直儘量去從公共或定製的 Maven 倉庫中引用依賴)。

新增完成之後會發現pom.xml檔案中會出現對應的servlet-api的對應資訊,儲存之後專案上的錯誤也會消失。

3. 編寫Servlet程式碼

修改servlet程式碼為:

package com.mxf;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo extends HttpServlet {

    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        response.getWriter().write("Hello Maven War");
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doGet(request, response);
    }

}

並配置web.xml檔案:

<servlet>
    <description></description>
    <display-name>ServletDemo</display-name>
    <servlet-name>ServletDemo</servlet-name>
    <servlet-class>com.mxf.ServletDemo</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletDemo</servlet-name>
    <url-pattern>/ServletDemo</url-pattern>
  </servlet-mapping>

4. 執行專案

要以Maven的方式執行,右鍵單擊專案,按照圖示點選:

Maven方式執行

在Goals中輸入tomcat:run 點選Run即可讓專案在Tomcat上面跑起來:

Tomcat執行

可以看到Tomcat啟動之後的輸出資訊:

啟動資訊輸出

在瀏覽器中訪問對應的URL路徑,測試成功頁面輸出Hello Maven War:

訪問成功頁面

相關推薦

EclipseMaven的使用以及Pom.xml

Eclipse中建立Maven專案 一、Maven專案的建立 1. 點選File->New->Other->搜尋maven->選擇Maven Project點選Next: 2. 勾選第一項,表示跳過骨架選擇,點選Next:

Maven學習筆記(3)-MavenPOM.XML

目錄 一、介紹POM   Maven之前的構建工具有Make和Ant,其中Make依賴構建指令碼Makefile,Ant依賴構建指令碼build.xml。同理,Maven專案也依賴構建指令碼。   POM(Project Object Model

Maven專案pom.xml

什麼是pom?    pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素 <project x

Maven實戰:Pom.xml

enable sub 導航欄 deployed home pid 系統類型 介紹 corporate 什麽是pom? pom作為項目對象模型。通過xml表示maven項目,使用pom.xml來實現。主要描述了項目:包括配置文件;開發者需要遵循的規則,缺陷管理系統,組織

Maven配置檔案pom.xml(轉)

什麼是POM? POM是專案物件模型(Project Object Model)的簡稱,它是Maven專案中的檔案,使用XML表示,名稱叫做pom.xml。在Maven中,當談到Project的時候,不僅僅是一堆包含程式碼的檔案。一個Project往往包含一個配置檔案,包括了與開發者有關的,缺陷

maven核心,pom.xml(轉)

  什麼是pom?     pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。

maven學習2——pom.xml

1.前言 Maven,發音是[`meivin],"專家"的意思。它是一個很好的專案管理工具,很早就進入了我的必備工具行列,但是這次為了把project1專案完全遷移並應用maven,所以對maven進行了一些深入的學習。寫這個學習筆記的目的,一個是為了自己備忘,二則希望能夠為其他人學習

【轉】maven核心,pom.xml

  感謝如下博主: maven核心,pom.xml詳解 什麼是pom?    pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案

Maven配置檔案pom.xml

什麼是POM? POM是專案物件模型(Project Object Model)的簡稱,它是Maven專案中的檔案,使用XML表示,名稱叫做pom.xml。在Maven中,當談到Project的時候,不僅僅是一堆包含程式碼的檔案。一個Project往往包含一個配置檔案,包

maven核心,pom.xml

什麼是pom?    pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。 快速察看:<pr

Mavenpom.xml

索引 guid sub 周期 val 才會 特性 mil 額外 什麽是pom? POM(Project Object Model):全稱項目對象模型,它是Maven項目中的文件,使用XML表示,名稱叫做pom.xml。在Maven項目中,必須包含pom.xml文件,主要描述

C#的Linq to Xml

image 查詢 學習 ebo ret 遞增 xdoc 裏的 事件 前言 我相信很多從事.NET開發的,在.NET 3.5之前操作XML會比較麻煩,但是在此之後出現了Linq to Xml,而今天的主人公就是Linq to Xml,廢話不多說,直接進入主題。 一、生

Java Pom.xml

build class文件 想要 單元測試 校驗 組成 例如 ons 版本庫 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

Maven配置pom檔案

maven核心,pom.xml詳解(轉) 什麼是pom? pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。

Maven專案pom檔案

1.Maven私服 依賴和外掛都屬於構件。 二、依賴、依賴的構件庫、外掛庫、構件的釋出包 1.依賴 2.對於依賴的構件庫,通過<repositories>設定 id,庫的ID name,庫的名稱 url,庫的URL layout

myEclipse&eclipse建立maven專案pom.xml報錯Plugin execution not covered by lifecycle configuration異常

Plugin execution not covered by lifecycle configuration異常 網上找了解決方法 這裡記錄一下 第一種: <plugins>標籤外面加上<pluginManagement>標籤 第二種: <

什麼是pom.xml?有什麼作用?--pom.xml

什麼是POM? POM是專案物件模型(Project Object Model)的簡稱,它是Maven專案中的檔案,使用XML表示,名稱叫做pom.xml。作用類似ant的build.xml檔案,功能更強大。該檔案用於管理:原始碼、配置檔案、開發者的資訊和角色、問題追蹤系統

Eclipse匯入Maven專案pom.xml報錯的解決辦法

Maven是基於專案物件模型,可以通過一小段描述資訊來管理專案的構建,報告和文件的軟體專案管理工具。如今用到Maven的地方很多,而在用Eclipse開發專案時經常匯入Maven專案時出現此類錯誤,在這

java開發工具IntelliJ或eclipsemaven專案pom檔案錯誤failed to read artifact descriptor for xx.jar問題解決辦法

下載安裝好開發軟體之後,IntelliJ會自動對maven外掛進行配置,file-setting 輸入maven可檢視到配置資訊: pom檔案的編寫過程會出現project錯誤, 第一種想法:在第一張圖中home directory 和 setting file 第二種方法:

eclipse匯入maven工程pom.xml檔案不起作用

匯入硬碟中的maven工程時要確保import的是maven選項下的Existing Maven Pojects。 接著要替換maven倉庫的地址為自己定義的地址 window->preference->maven->user settings