構建Maven多模塊

構建Maven多模塊

背景介紹

 在學習《Spring-Cloud微服務架構》中,曾看到Maven多模塊,一時來了興趣便進行研究。我比較喜歡用IDEA,所以這裏用IDEA來介紹了。

學習之旅

按照圖中步驟一步步來
第一步第二步在這裏插入圖片描述然後一直next到底,然後刪除沒有必要的src文件。然後右鍵新建如圖的一個子模塊,名爲child模塊
在這裏插入圖片描述

最後Blog pom.xml代碼爲

<?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>vip.wulang</groupId>
  <artifactId>Blog</artifactId>
  <version>1.0-SNAPSHOT</version>
  <modules>
    <module>child</module>
  </modules>
  <packaging>pom</packaging>

  <name>Blog Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>



</project>

注意:Blog的pom.xml多了幾行

  <modules>
    <module>child</module>
  </modules>

最後Child pom.xml代碼爲

<?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">
    <parent>
        <artifactId>Blog</artifactId>
        <groupId>vip.wulang</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>child</artifactId>
    <packaging>war</packaging>

    <name>child Maven Webapp</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>
</project>

注意:child的pom.xml多了幾行

    <parent>
        <artifactId>Blog</artifactId>
        <groupId>vip.wulang</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
  1. 父模塊的<modules>中記錄了子模塊的artifactId
  2. 子模塊中<parent>也記錄着父模塊的配置信息
  3. 子模塊中<parent>中的<relativePath>中記錄的是父項目相對於子項目的路徑.這樣的邏輯是,在構建子項目的時候首先根據相對路徑找到父項目
  4. 子模塊可從父模塊繼承的元素
    • groupId:項目組ID,項目座標的核心元素
    • version:項目版本,項目座標的核心元素
    • description:項目的描述信息
    • organization:項目的組織信息
    • inceptionYear:項目的創始年份
    • url:項目的URL地址
    • developers:項目的開發者信息
    • contributors:項目的貢獻者信息
    • distributionManagement:項目的部署信息
    • issueManagement:項目的缺陷跟蹤系統信息
    • ciManagement:項目的持續集成系統信息
    • scm:項目的版本控制系統信息
    • mailingLists:項目的郵件列表信息
    • properties:項目的依賴配置
    • dependencies:項目的依賴配置
    • dependencyManagement:項目的依賴管理配置
    • repositories:項目的倉庫配置
    • build:包括項目的源碼目錄配置、輸出目錄配置、插件配置、插件管理配置等
    • reporting:包括項目的報告輸出目錄配置、報告插件配置等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章