在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網/ Maven - 概述
Maven - 倉庫
Maven - 構建生命周期
Maven - POM
Maven - 依賴管理
Maven - 構建自動化
Maven - 構建配置文件
Maven - NetBeans
Maven - Web 應用
Maven - 概述
Maven - 工程文檔
Maven - Elipse IDE
Maven - 創(chuàng)建工程
Maven - 插件
Maven - 環(huán)境配置
Maven - IntelliJ IDEA
Maven - 自動化部署
Maven - 構建 & 測試工程
Maven - 外部依賴
Maven - 工程模板
Maven - 快照

Maven - 概述

Maven 是什么?

Maven 是一個項目管理和整合工具。Maven 為開發(fā)者提供了一套完整的構建生命周期框架。開發(fā)團隊幾乎不用花多少時間就能夠自動完成工程的基礎構建配置,因為 Maven 使用了一個標準的目錄結構和一個默認的構建生命周期。

在有多個開發(fā)團隊環(huán)境的情況下,Maven 能夠在很短的時間內使得每項工作都按照標準進行。因為大部分的工程配置操作都非常簡單并且可復用,在創(chuàng)建報告、檢查、構建和測試自動配置時,Maven 可以讓開發(fā)者的工作變得更簡單。

Maven 能夠幫助開發(fā)者完成以下工作:

  • 構建
  • 文檔生成
  • 報告
  • 依賴
  • SCMs
  • 發(fā)布
  • 分發(fā)
  • 郵件列表

總的來說,Maven 簡化了工程的構建過程,并對其標準化。它無縫銜接了編譯、發(fā)布、文檔生成、團隊合作和其他任務。Maven 提高了重用性,負責了大部分構建相關的任務。

Maven 的歷史

Maven 最初是在 Jakarta Turbine 項目中為了簡化構建過程而設計的。項目中有幾個子工程,每個工程包含稍有不同的 ANT 文件。JAR 文件使用 CVS 管理。

Apache 小組隨后開發(fā)了 Maven,能夠同時構建多個工程、發(fā)布工程信息、部署工程、在幾個工程中共享 JAR 文件,并且協(xié)助團隊合作。

Maven 的目標

Maven 的主要目的是為開發(fā)者提供

  • 一個可復用、可維護、更易理解的工程綜合模型
  • 與這個模型交互的插件或者工具

Maven 工程結構和內容被定義在一個 xml 文件中 - pom.xml,是 Project Object Model (POM) 的簡稱,此文件是整個 Maven 系統(tǒng)的基礎組件。詳細內容請參考 Maven POM 部分。

約定優(yōu)于配置

Maven 使用約定而不是配置,意味著開發(fā)者不需要再自己創(chuàng)建構建過程。

開發(fā)者不需要再關心每一個配置細節(jié)。Maven 為工程提供了合理的默認行為。當創(chuàng)建 Maven 工程時,Maven 會創(chuàng)建默認的工程結構。開發(fā)者只需要合理的放置文件,而在 pom.xml 中不再需要定義任何配置。

舉例說明,下面的表格展示了工程源碼文件、資源文件的默認配置,和其他一些配置。假定 ${basedir} 表示工程目錄:

配置項 默認值
source code ${basedir}/src/main/java
resources ${basedir}/src/main/resources
Tests ${basedir}/src/test
Complied byte code ${basedir}/target
distributable JAR ${basedir}/target/classes

為了構建工程,Maven 為開發(fā)者提供了選項來配置生命周期目標和工程依賴(依賴于 Maven 的插件擴展功能和默認的約定)。大部分的工程管理和構建相關的任務是由 Maven 插件完成的。

開發(fā)人員不需要了解每個插件是如何工作的,就能夠構建任何給定的 Maven 工程。詳細內容請參考 Maven 插件部分。