1. 程式人生 > >Maven(一)如何用Eclipse建立一個Maven專案

Maven(一)如何用Eclipse建立一個Maven專案

1.什麼是Maven

Apache Maven 是一個專案管理和整合工具。基於工程物件模型(POM)的概念,通過一箇中央資訊管理模組,Maven 能夠管理專案的構建、報告和文件。

Maven工程結構和內容被定義在一個 xml 檔案中——pom.xml,是 Project Object Model (POM) 的簡稱,此檔案是整個 Maven 系統的基礎元件。

2.為什麼要用Maven

當我們建立一個Maven專案後,就不需要再自己去匯入各種jar包了,將要匯入的jar包依賴資訊配置在pom.xml中,Maven專案會根據具體的配置自動地在編譯、測試和執行的時候,從本地倉庫中匯入相應的各種依賴。

這樣做有兩個最大的好處,一個是專案的依賴被統一管理,不容易出現依賴衝突(比如說jar包引入的版本衝突);另一個就是專案的體積變小了,畢竟一個稍微大些的專案光是引入的jar包就佔了相當多的體積,而Maven專案只需要一個pom.xml檔案就搞定了

約定優於配置

Maven 使用約定而不是配置,開發者不需要再關心每一個配置細節。當建立 Maven 工程時,Maven 會建立預設的工程結構。開發者只需要合理的放置檔案,並在 pom.xml 中新增專案相關的依賴。

Maven專案規定了原始碼檔案、資原始檔、測試檔案、輸出檔案等的預設配置,簡單的說就是把這些檔案規定放在對應的路徑下方便管理,如下表所示,假設${basedir}

表示工程根目錄:

專案工程的路徑 存放的檔案型別
${basedir}/src/main/java 專案原始碼
${basedir}/src/main/resources 資原始檔,比如.properties檔案
${basedir}/src/main/webapp web專案相關資原始檔,比如web.xml
${basedir}/src/test/java 測試用的原始碼
${basedir}/src/test/resources 測試用的資原始檔
${basedir}/target/classes 編譯後的檔案
${basedir}/target/test-classes 編譯後用於測試的檔案


如果是用Eclipse的Maven外掛生成的Maven專案,只會自動生成src/main/resourcestarget/classestarget/test-classes,需要自己手動新增其它的目錄,並且指定專案的source以及編譯後的輸出目錄

3.Maven的安裝與設定環境變數

想要建立一個Maven專案需要先安裝Maven,並且設定好環境變數

  • 設定環境變數
    • 新建變數MAVEN_HOME,值為Maven的目錄X:\XXX\apache-maven-XXX
    • %MAVEN_HOME%\bin新增到Path變數下
  • 執行CMD,輸入mvn -v後可以看到Maven的版本資訊等則表示安裝成功

4.建立Maven專案和依賴

4.1建立Maven專案有兩種方式,如下

第一種建立方式:使用命令列手動建立

mvn archetype:generate -DgroupId=com.lewis.seckill -DartifactId=seckill -Dpackage=com.lewis.seckill -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp

命令列執行後會建立一個maven-archetype-webapp骨架的Maven專案,其中groupId是專案組織唯一的識別符號,實際對應JAVA的包的結構;artifactId是專案的唯一的識別符號,實際對應專案的名稱;package一般是groupId+artifactId,是自動生成的,可以修改

第二種建立方式:藉助IDE工具的Maven外掛來建立專案

筆者用的是Eclipse,所以這裡只介紹Eclipse怎麼用外掛生成一個Maven專案

Eclipse安裝Maven外掛

  • 不知道怎麼Maven外掛的請參考該博文,推薦使用 link 方式手工安裝的方式
    • 如果是手工安裝Maven外掛的,可能會缺少pom.xml 圖形化編輯工具,請另外新增進去,具體情況請參考該博文
    • 已經安裝了Maven外掛的請走下一個步驟
  • FileNewOther...Maven ProjectNext,進入如下介面

    Maven1

  • 點選Next,選擇要構建的骨架maven-archetype-webapp,如下圖

    Maven2

  • 點選Next,填寫groupId=com.lewis.seckillDartifactId=seckillpackage=com.lewis.seckill(根據實際情況填寫),然後Finish

將Maven專案轉變為Eclipse支援的Web專案

此時構建好的只是一個Maven專案,需要將其轉變為Eclipse支援的Web專案,這樣才能夠直接在Eclipse中部署到Tomcat上進行除錯。具體情況請參考該博文

4.2修改pom.xml檔案

當建立完Maven專案後會在根目錄下有一個pom.xml檔案,Maven專案通過pom.xml進行專案依賴的管理,如果沒有該xml檔案,Eclipse不會將該專案當作一個Maven專案

新增專案需要的jar包依賴

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.lewis</groupId>
    <artifactId>seckill</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>seckill Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

在這個pom.xml裡,會自動添加了Junit的依賴,不過有可能是3.X版本的,我們將其版本改為4.11的,因為舊版本的Junit不支援註解測試。

專案需要什麼依賴,我們就到該檔案下新增相對應的配置資訊,比如我們要使用MySQL,就這pom.xml檔案的dependencies標籤裡引入如下配置

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.35</version>
            <scope>runtime</scope>
        </dependency>

每次更新完pom.xml檔案並儲存後,Maven 專案會自動檢測下載新的依賴。這裡的groupId+artifactId唯一定位了依賴倉庫裡的MySQL的驅動jar包,version 表示其版本,scope 表示該依賴的範圍。在Maven專案中,編譯、測試和 執行使用的是不同的classpath,runtime表示該專案在編譯時不匯入該依賴,而在測試和執行專案時則匯入。

那麼如何查詢jar包座標和版本資訊呢?請參考該博文

更新依賴時可能存在的問題

由於Maven預設會前往中央倉庫下載依賴,下載的速度可能會非常慢,甚至連線不上,一般我們會設定成阿里雲的映象,下載速度會快很多,具體操作請參考該博文

在Eclipse上執行Maven命令

在安裝了Maven外掛之後,已經不需要用cmd來輸入命令,可以直接在Eclipse中直接輸入指令。在cmd中每個命令都要加上mvn字首,而在Eclipse中則不需要,一般常用的指令有clean、compile、install、package等,一般都會在執行命令前先執行clean清除編譯後的檔案

右鍵點選Maven專案,執行run as裡的命令,也可以自己輸入其他的命令,具體操作請參考該博文

執行Maven命令可能發生的問題

如果是第一次在Eclipse上建立Maven專案,可能會存在輸入Maven命令,Eclipse的控制檯卻毫無反應的情況,這是因為沒有傳引數,具體情況請參考該博文

到這一步,我們的Maven專案就已經初步建立成功了,接下來只需要安裝規定在src/main/java下放置原始碼,在src/main/resources下放置資原始檔就行了

相關連結

  • 有想要了解Maven的依賴範圍和依賴傳遞性可以參考該博文
  • 如何在Eclipse中建立一個web骨架的Maven專案請參考該博文

相關推薦

Maven()如何用Eclipse建立一個Maven專案

1.什麼是Maven Apache Maven 是一個專案管理和整合工具。基於工程物件模型(POM)的概念,通過一箇中央資訊管理模組,Maven 能夠管理專案的構建、報告和文件。 Maven工程結構和內容被定義在一個 xml 檔案中——pom.xml,是 P

idea建立一個maven web專案

https://blog.csdn.net/sinat_34596644/article/details/52891274   一、開啟idea,檢視左上方工具欄,依次點選File->New->Project。此時彈出一個視窗,在左邊欄選擇Maven,稍等一段時間載入之

Eclipse 搭建一個Maven Spring SpringMVC 項目

hibernate 文件 res version 日誌 創建 oca skip www 1: 先創建一個maven web 項目: 可以參照之前的文章: 用Maven 創建一個 簡單的 JavaWeb 項目 創建好之後的目錄是這樣的; 2: 先配置maven 修

(轉)Gradle初探():建立一個Gradle專案

http://www.jianshu.com/p/c0fc6a91d3e7 前兩天聽BOSS提到了Gradle,說論壇里人說"比Maven好"云云,故抽空試玩了下。 1. 環境準備 1.1. 先上Gradle官網下載最新版的程式,地址:https://gradle.org/gradle-

Windows下Eclipse建立一個spark程式三步曲(Java版)

作者:翁鬆秀 用Eclipse建立一個spark程式三步曲(Java版) 用Eclipse建立一個spark程式三步曲(Java版) Step1:建立Maven工程

Spring-boot入門() 使用IDEA建立一個web專案

使用工具:Idea,Maven,jdk1.8 這裡安裝IDEA和配置Mavn的過程可以參考:https://blog.csdn.net/Phoenix_smf/article/details/81563118 首先使用Idea新建一個基於maven的spri

pycharm建立一個專案

       1.在pycharm中新建一個名為xuehan的專案,在xuehan 下有template、static檔案包,還有一個xuehan.py 檔案。在pycharm輸入python xuehan.py runserver 在瀏覽器輸入地址:127.0.0.2:50

Maven入門-4-如何在Eclipse建立一個Maven專案

       前面我們介紹如何在windonws上的cmd裡通過命令來建立一個Maven專案,這種方式看起來會很不方便。實際上,目前很多Java開發IDE工具是繼承了Maven,所以,我們一般是在ID

Eclipse建立Maven多模組專案

在eclipse下構建maven專案,該專案由多個子模組組成。 1.建立一個父專案 NEW –>project–>maven–>maven Project,點選下一步,進入new

eclipse中用maven建立一個web專案

右鍵new>>Maven Project,點選next繼續,再Select an Archetype中選擇maven-archetype-webapp。 點選next繼續,填寫Group id和Artifact id, Version預設,Package可以不填

手把手教你在Eclipse建立一個Maven+Spring MVC的HelloWord專案

         使用了框架進行開發以後,我們用到的jar包會越來越多,每次都手動下載然後拷貝進專案的話,這樣會比較麻煩,而且有時候不能很好地處理jar包傳遞依賴的問題。慶幸的是,Maven出現了,它可以極大地方便了我們對依賴的管理。只要填寫好pom.xml這個配置檔案,那

使用Intellij Idea建立一個maven的SSH整合的專案()!

用IDEA搭建Maven web專案,對於很多用慣了Eclipse的人可能會很不適應。在專案的目錄結構設定上,Eclipse和IDEA的確有些區別。這篇文章將在原來的基礎上更加詳細的介紹,最後會給出兩個示例來展示實際效果。文章將從5個方面來介紹:(文章貼圖較多,如果你那裡無法

eclipse建立maven專案老是出現這個錯誤 'Creating maven-archetype-quickstart' has encountered

a problem.Failed to create project? Failed to create project. java.lang.NullPointerException 解決辦

如何用Eclipse建立一個簡單的Maven專案【入門】

一.maven安裝 2.解壓到本地某個目錄下。 3.新增環境變數 M2_HOME. 同時在path中新增 %M2_HOME%/bin. 4. 在cmd命令列中輸入 mvn -v,提示以下內容,則安裝成功。 二、eclipse中maven配置 在use

怎麼在eclipse最原始的方法建立一個web專案

1.開啟eclipse,然後建立一個動態web專案,如下圖 2.然後要選擇Tomcat執行版本 注意,如果這裡你的Tomcat版本不是8.0,恭喜你,你得修改一下Tomcat的配置檔案了。  用解壓工具開啟Tomcat安裝目錄裡面的lib目錄,依次往下走:or

Eclipse建立一個簡單的Springmvc程式(Maven工程)

一、建Maven(war)工程 報錯是沒有配置web.xml 在src->main->webapp 下建WEB-INF資料夾 在該檔案下,建web.xml模板。 二、配置dom.xml(即匯入jar包。) 在maven倉庫中找spring contex

IDEA如何建立一個maven專案

前提:配置好本地maven 這裡只是介紹藉助idea工具如何去使用 1.建立工程 new---->project---->maven---sdk(選擇本地的jdk)---->勾選create from------>選擇maven-archetype-quickst

idea工具的使用(以建立一個Maven專案舉例)

接下來先以建立一個Maven專案舉例 點選該工具,使其執行,如下圖: 執行之後,可以點選下圖中底部紅框處的“Configure”(被圖中的那個網址遮住了,見諒)來進行一些設定,比如說快捷鍵的設定、字型以及頁面外觀的設定等等。當然也可以等建立好專案之後,進到主頁再進行這些設定:具體方式是

在idea中如何建立一個maven專案

在idea中建立一個maven專案。 1.首先點選  create new project 點選建立專案​​​​   2.第二步 (最新版的idea外掛比較多, 一直往下翻,找到 org.apache.mav

使用IDEA簡單的建立一個maven專案

現在的JavaWeb專案中,絕大多數都是採用的maven結構的專案,而對於maven支援的最好的IDE開發工具為IDEA,所以說我就以在IDEA上為例來進行maven開發的講解。 用IDEA建立maven專案的方法如下,雙擊IDEA圖示,進入的介面如下,在該頁面