Maven倉庫講解

Maven 是Apache下的一個純Java開發的開源項目,也是當下非常流行的一個項目管理構建工具,同類軟件還包括有Gradle,Ant…

Maven基於項目對象模型(POM)的概念,爲Java項目提供了非常強大的項目生命週期管理和依賴管理。在使用Maven創建項目的同時,Maven也默認提供了標準的項目目錄結構,秉着約定大於配置的原則爲項目開發制定了統一的規則。

Maven倉庫:

在maven中有存在着幾個倉庫的概念:本地倉庫,遠程倉庫,私服倉庫,中央倉庫,

在我們使用的maven依賴第三方jar時,maven 會先去檢查我們的本地倉庫有沒有這個Jar包,如果有的話直接引用,如果沒有的話就需要到遠程中央倉庫去下載了,如果配置了私服倉庫的話,會去私服上找,找到的話會會直接下載到本地倉庫,方便我們下次直接使用。沒有的話由私服倉庫到互聯網遠程倉庫上下載

  • 本地倉庫:保存從遠程倉庫下載下來的jar包,避免下次重複下載(緩存的概念)
  • 遠程倉庫:存儲第三方開源項目的maven倉庫,可以是公網上的,也可以是局域網內的。
  • 私服:在公司局域網環境下搭建的Maven遠程倉庫,工程師可以連接到私服將自己的項目打包發佈到上面,也可以直接從私服上下載自己想要依賴的jar包,如果私服上沒有的話,那麼私服就會從中央倉庫去下載
  • 中央倉庫:maven核心團隊自己維護的遠程倉庫地址,存儲了全世界大部分的開源項目,服務於整個互聯網

依賴管理

要清楚依賴管理就要先知道有關依賴的定義,依賴就是一個項目需要用到某些第三方的jar包才能正常運行,那就可以說這個項目依賴了那些第三方的jar包,在日常的Java項目開發中我們會用到很多很多的第三方jar包,Spring,Mybatis等等 它們之間的關係就可以用依賴來形容。
Maven提供的依賴管理功能就是爲了對這些第三方的Jar包進行一個規範化的管理。

在未使用maven時我們用到第三方jar只能從網絡上手動下載,拷貝,這樣做的問題有很多,一個是jar包不好找,另一個就是項目日積月累的jar包越來越多,jar包之間的版本問題就很讓人頭痛,要從一大堆jar包裏找到幾個衝突的確實不是那麼容易的事

而在使用了maven之後,我們就顯得輕鬆許多,需要哪一個jar包,只要將需要的jar包信息填寫到maven工程的POM文件中,maven就能自動的幫你去下載。
通過pom文件還能對jar包的版本進行統一的管理,版本衝突的問題似乎也沒那麼讓人難受了。

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jlong</groupId>
    <artifactId>mavendemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId></groupId>
            <artifactId></artifactId>
            <version></version>
        </dependency>
    </dependencies>
</project>

如果要添加jar包依賴,直接在dependencies節點寫添加dependency,每一個dependency都代表着一個項目的座標信息,
通過它就可以準確的找到你要依賴的那個jar.

  • groupId:項目名稱
  • artifactId:依賴的模塊名
  • version:想要依賴的jar包版本

項目構建

所謂的項目生命週期管理也就是項目構建,指的是一個項目從編寫源代碼到編譯、測試、運行、打包、部署、運行的過程。其中每一個階段都可以使用一個命令完成。

  • 1、mvn compile 編譯,將Java 源程序編譯成 class 字節碼文件。
  • 2、mvn test 測試,並生成測試報告
  • 3、mvn clean 將以前編譯得到的舊的 class 字節碼文件刪除
  • 4、mvn pakage 打包,動態 web工程打war包,Java工程打 jar 包。
  • 5、mvn install 將項目生成 jar 包放在倉庫中,以便別的模塊調用

Maven其他常用命令

  1. 跳過測試:-Dmaven.test.skip(=true)
  2. 指定端口:-Dmaven.tomcat.port=8080
  3. 忽略測試失敗:-Dmaven.test.failure.ignore=true

當然,如果你的其它關聯項目有過更新的話,一定要在項目根目錄下運行mvn clean install來執行更新,再運行mvn
tomcat:run使改動生效.

maven工程目錄規定
maven工程目錄規定

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