日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 IntelliJ IDEA 中创建基本的 Maven 多模块项目

發(fā)布時間:2024/4/13 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 IntelliJ IDEA 中创建基本的 Maven 多模块项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在 IntelliJ IDEA 中創(chuàng)建基本的 Maven 多模塊項目

筆者的環(huán)境:

  • Maven 3.6.3
  • JDK 11
  • IntelliJ IDEA 2020.2.2 (Ultimate Edition)

??創(chuàng)建 Maven 的多模塊項目的好處有很多,比方說,可以非侵入式地使用其它工程中的模塊、隔離同一個包中不同的類等。這里假設(shè)要創(chuàng)建的多模塊項目不是 Web 項目,而是普通的 Java 項目。這里要創(chuàng)建的是一個 MVC 多模塊項目,方法如下。

  • 在繼續(xù)閱讀本教程之前,需要先完成 Maven 的安裝。關(guān)于 Maven 的安裝,請見筆者的另一篇博客:

    Maven 的下載安裝教程:
    https://blog.csdn.net/wangpaiblog/article/details/112689500

  • 創(chuàng)建一個 Maven 項目,這個項目將作為多模塊中的父模塊。

  • 創(chuàng)建好之后,應(yīng)該可以看下如下的 pom 文件。

  • 創(chuàng)建子模塊。注意,在創(chuàng)建子模塊時要選擇父模塊,同時正確指定子模塊的路徑。Maven 約定,默認(rèn)為子模塊路徑為父模塊的下一級。建議遵循 Maven 這個默認(rèn)設(shè)定。

  • 創(chuàng)建其它的子模塊。


    【小貼士】

    ??如果在創(chuàng)建模塊時使用合適的 Maven 原型,可以減少創(chuàng)建時的一些步驟。只是要注意,需要在使用 Maven 原型輸入一些變量來避免 IntelliJ IDEA 長時間下載此 Maven 原型。而之所以這里沒有選擇在父模塊中使用 Maven 原型,是因為父模塊不需要做太多的事情。步驟如下:

  • 如圖。

  • 在快要完成 Maven 模塊創(chuàng)建時,在圖中的 Properties 中添加鍵值對 Name-Value:

    • Name: archetypeCatalog

      Value: internal

  • 如果不添加此鍵值對,IntelliJ IDEA 將會從 Maven 中央倉庫去獲取上面選擇的 archetype。有過完整安裝 Maven 的讀者可能知道,這個過程可以十分緩慢。而添加此鍵值對之后,則獲取該 archetype 的方式將變?yōu)閮?nèi)部獲取,而使用這種方式構(gòu)建項目的速度將大大提高。


  • 父模塊一般只是用于聚合子模塊,它本身可以沒有實際的 Java 代碼。如果不需要在父模塊中編寫 Java 源代碼,則父模塊中的文件夾 src 可以刪去。

  • Maven 規(guī)定,聚合模塊的 <packaging/...> 要設(shè)置為 pom,同時作為父模塊,應(yīng)該在父模塊的 pom 文件中寫明它的子模塊。

    (注意:在 Maven 中,聚合模塊與父模塊本質(zhì)上是完全不同的、互相獨立的概念。但為了減少麻煩,一般會讓聚合模塊也同時是父模塊。)

  • 另外,在設(shè)置完之后,IntelliJ IDEA 右側(cè)應(yīng)該會顯示相應(yīng)的各模塊。

  • 為了便于各模塊之間的互相依賴,應(yīng)該在父模塊中設(shè)置這些依賴。

    (注意:在父模塊中,應(yīng)該使用 <dependencyManagement/...>,而不要直接使用 <dependencies/...>。因為直接使用 <dependencies/...> 會讓子模塊引入不必要的依賴。

    編程的一個原則就是,不要做多余的事情。要記住,冗余代碼就是地雷。如果不希望日后的開發(fā)成為災(zāi)難,那最好不要偷懶。)

  • 現(xiàn)在,Maven 的多模塊項目的骨架已經(jīng)搭成。各模塊中的文件夾 Java 即為 Java 源代碼目錄。

  • 各模塊的 pom 文件示例代碼如下。

    • 父模塊 mvc 的 pom 文件:

      <?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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.genius.mvc</groupId><artifactId>mvc</artifactId><version>1.0</version><packaging>pom</packaging><name>mvc</name><modules><module>model</module><module>view</module><module>service</module></modules><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project_version>1.0</project_version></properties><dependencyManagement><dependencies><dependency><groupId>org.genius.mvc</groupId><artifactId>model</artifactId><version>${project_version}</version></dependency><dependency><groupId>org.genius.mvc</groupId><artifactId>view</artifactId><version>${project_version}</version></dependency><dependency><groupId>org.genius.mvc</groupId><artifactId>service</artifactId><version>${project_version}</version></dependency></dependencies></dependencyManagement></project>
    • 子模塊 model 的 pom 文件

      <?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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>mvc</artifactId><groupId>org.genius.mvc</groupId><version>1.0</version></parent><artifactId>model</artifactId><name>model</name></project>
    • 子模塊 view 的 pom 文件

      <?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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>mvc</artifactId><groupId>org.genius.mvc</groupId><version>1.0</version></parent><artifactId>view</artifactId><name>view</name></project>
    • 子模塊 controller 的 pom 文件

      <?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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>mvc</artifactId><groupId>org.genius.mvc</groupId><version>1.0</version></parent><artifactId>controller</artifactId><name>controller</name></project>
  • 總結(jié)

    以上是生活随笔為你收集整理的在 IntelliJ IDEA 中创建基本的 Maven 多模块项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。