java項目管理工具——Maven

Maven可以解決的問題

在開發中經常需要依賴第三方的包,包與包之間存在的依賴關係,版本間的兼容性問題,有時還需要將舊的jar包升級成新的版本,稍微一想就知道開發人員要花費多少精力解決這些問題。

Maven的作用

  • 統一開發規範和工具
  • 統一管理jar包

Maven項目管理工具(依賴管理)

1、POM工程對象模型

Pom.xml是Maven工程的核心配置文件,可以通過一小段描述信息來管理項目的構建。

項目的配置信息,創建項目時填寫,自動生成

<!-- 項目所在組,一般是阻止或公司 -->
  <groupId>cn.sdut</groupId>
  <!-- 當前項目在組中的唯一ID -->
  <artifactId>maven</artifactId>
  <!-- 表示版本,SNAPSHOT表示快照,表示此項目還在開發中,不穩定 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 打包類型 -->
  <packaging>jar</packaging>

maven使用groupId,artifactId,version三個元素,唯一的標識這個項目。

  • grounpId:項目所在組,一般是組織或者公司(groupId 和實際項目不一定是一一對應的)
  • artifactId:當前項目在組中的唯一id
  • version:版本

Dependency  配置依賴

我們在dependency裏用groupId,artifactId,version三個元素來管理我們需要用到的jar包,填好後保存即可自動下載。

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

依賴範圍 scope

  • compile:編譯,測試,運行都有效,默認的選擇
  • test:測試有效,例如junit
  • provided:編譯,測試有效,例如servlet,運行時容器會提供實現
  • runtime:運行和測試有效,例如jdbc,編譯時只需相應的接口,測試和運行時才需要具體的實現
  • system:編譯,測試有效。例如本地的,Maven倉庫之外的類庫文件。

Maven倉庫(Repository)

  • 公用倉庫也叫中央倉庫,由Maven社區提供和管理的,裏面包含了大量的常用類庫。
  • 本地倉庫,用來存儲下載下來的jar包的路徑,一般%user_home%/.m2/repository路徑下。
  • 內部遠程倉庫/內部中心倉庫,使用本公司搭建的一個類似於中央倉庫的一個倉庫,僅限於公司內部人員使用。
  • 項目配置的依賴首先去中央倉庫找,找到了就自動下載到本地倉庫,項目就可以自動使用。如果中央倉庫沒有,本地倉庫也沒用,則項目會停止構建,拋出錯誤信息到控制檯,爲了避免這種異常,Maven提供了內部遠程倉庫的配置。

 

參考:https://www.cnblogs.com/best/p/9676515.html#_label0

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章