Maven -- 基礎知識的記錄

1. 項目編譯時,Maven的工作

當項目編譯時,Maven首先從本地倉庫中尋找項目所需的Jar包,若本地倉庫沒有,再到Maven的中央倉庫(Maven官方提供的遠程倉庫)下載所需Jar包。

2. 坐標

Maven通過坐標在倉庫中找到項目所需的Jar包,其變量有:

  • groupId:所需Jar包的項目名
  • artifactId:所需Jar包的模塊名
  • version:所需Jar包的版本號

代碼舉例:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.1</version>
</dependency>

3. 依賴

在引用jar包的時候,如果該Jar包又引用了其他Jar包,那么在默認的情況下,根據傳遞依賴的原理,Maven會將其全都下載下來。而如果只想下載直接引用的Jar包,則可以通過排除依賴,將需要排除的Jar包的坐標寫在pom.xml中。
代碼舉例:

<exclusions>
    <exclusion>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </exclusion>
</exclusions> 

4. 聚合

只需在pom中作相應配置即可實現聚合--將多個項目同時運行。
代碼舉例:

<modules>
        <module>../模塊1</module>
        <module>../模塊2</module>
        <module>../模塊3</module>
</modules>

5. 繼承

在聚合多個項目時,如果這些被聚合的項目中需要引入相同的Jar,那么可以將這些Jar寫入父pom中,各個子項目繼承該pom即可。實現上需要分別配置父pom及子pom.
父pom的配置舉例:

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-spring</artifactId>
                <version>1.2.2</version>
            </dependency> 
        </dependencies>
</dependencyManagement>

子pom的對應配置如下:

<parent>
    <groupId>父pom所在項目的groupId</groupId>
    <artifactId>父pom所在項目的artifactId</artifactId>
    <version>父pom所在項目的版本號</version>
</parent>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,953評論 6 342
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注釋 參考 0 前言 什么是...
    阿父閱讀 12,655評論 1 36
  • Maven編譯代碼的相關命令 第一、main目錄下的主代碼編寫完畢后,使用Maven進行編譯,在項目根目錄下運行命...
    加油小杜閱讀 1,241評論 0 2
  • 第六重天的主題:覺察爛故事 某某人,根據你的自我定義,你覺得怎樣的自己才是值得被愛的?為什么? 根據我的自我定義,...
    李英花閱讀 256評論 0 0