精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

閑扯Maven項目代碼組織形式

開發(fā) 項目管理
在這種結構下,parent 父工程和各個子工程從代碼組織形式上來看都是平級的,都處于同一個目錄下。

因為最近有小伙伴問到了,所以我想和大家隨便扯扯 Maven 項目中代碼的組織形式這個問題。

其實也不是啥大問題,但是如果不懂的話,就像霧里看花,始終不能看的明明白白,懂了就像一層窗戶紙,捅破就好了。

所以我們就簡單扯幾句。

1. 代碼組織形式

首先來說說代碼組織形式。

一般來說,就兩種比較常見的形式:

  • 平鋪
  • 父子結構

這兩種形式松哥在不同的項目中都有遇到過,所以我們就不說孰優(yōu)孰劣,單純來說這兩種方案。

1.1 平鋪

平鋪的代碼類似下面這樣:

├── parent
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ └── java
├── vhr-dao
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ └── resources
│ │ └── test
│ │ └── java
└── vhr-service
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ └── java

如下圖:

圖片

可以看到,在這種結構下,parent 父工程和各個子工程從代碼組織形式上來看都是平級的,都處于同一個目錄下。

不過仔細查看 pom.xml 文件,還是能夠清晰的看到這三個 module 的父子關系的:

parent:

<?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>org.javaboy</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>../vhr-dao</module>
<module>../vhr-service</module>
</modules>

</project>

可以看到,在指定 module 時,由于 vhr-dao 和 vhr-service 和 parent 的 pom.xml 不在同一個目錄下,所以這里使用了相對路徑,相對路徑的參考依據是 parent 的 pom.xml 文件位置。

vhr-dao:

<?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>parent</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>vhr-dao</artifactId>


</project>

可以看到,relativePath 節(jié)點中,通過相對路徑指定了 parent 的 pom.xml 文件位置,這個相對路徑的參考依據是子模塊的 pom.xml 文件。

vhr-service:

<?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>parent</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>vhr-service</artifactId>


</project>

這個和 vhr-dao 的差不多,不贅述。

1.2 父子結構

父子結構則類似于下面這樣:

├── maven_parent
│ ├── pom.xml
│ ├── vhr-dao
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ └── resources
│ │ └── test
│ │ └── java
│ └── vhr-service
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ └── java

如下圖:

圖片

這種父子結構的看起來就非常的層次分明了,parent 和各個 module 一眼就能看出來,我們從 GitHub 上下載的很多開源項目如 Shiro,都是這種結構。

不過文件夾的層級并不能說明任何問題,關鍵還是要看 pom.xml 中的定義,接下來我們就來看看 parent 的 pom.xml 和各個子模塊的 pom.xml 有何異同。

maven_parent:

<?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>org.javaboy</groupId>
<artifactId>maven_parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>vhr-dao</module>
<module>vhr-service</module>
</modules>


</project>

和前面不同的是,這里聲明 modules 不需要相對路徑了(其實還是相對路徑,只是不需要 ../ 了),因為各個子模塊和 parent 的 pom.xml 文件處于同一目錄下。

vhr-dao:

<?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>maven_parent</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>vhr-dao</artifactId>


</project>

這里也不需要通過 relativePath 節(jié)點去指定 parent 的 pom.xml 文件位置了,因為 parent 的 pom.xml 和各個子模塊處于同一目錄下。

vhr-service:

<?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>maven_parent</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>vhr-service</artifactId>


</project>

2. 打包問題

2.1 繼承

有的時候,單純只是想通過 parent 來統一管理不同的項目的依賴,并非一個聚合項目。

這個時候只需要去掉 parent 的 pom.xml 中的 modules 節(jié)點及其中的內容即可,這樣就不是聚合工程了,各個子模塊也可以獨立打包。

2.2 聚合

當然很多情況我們是聚合工程。

聚合工程的話,一般松哥是建議大家從 parent 處統一進行打包:

圖片

這樣可以確保打包到的是最新的代碼。

當然還有另外一種操作流程:

  • 首先將 parent 安裝到本地倉庫。
  • 然后分別將 model、dao 以及 service 等模塊安裝到本地倉庫。
  • 最后 web 模塊就可以獨立打包了。

如果使用這種操作流程,需要注意一點,就是每個模塊代碼更新之后,要及時安裝到本地倉庫,否則當 web 模塊獨立打包時,用到的其他模塊就不是最新的代碼。

3. 小結

好啦,幾個 Maven 中的小問題,窗戶紙捅破了就豁然開朗啦!

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2021-10-11 08:59:35

項目代碼組織

2009-03-02 10:50:19

虛擬 項目 管理

2009-03-02 18:13:33

虛擬化虛擬管理計算機

2023-11-06 08:47:52

操作系統物理內存

2017-03-02 14:38:35

2025-07-30 00:02:00

AI技術AI Agent安全

2023-05-09 16:04:44

2009-11-16 11:31:54

Oracle數據導入

2009-11-11 09:48:06

Visual Stud

2009-11-06 17:13:24

Oracle SQL語

2009-11-13 14:49:50

Visual StudWindows Azu

2009-11-12 11:00:56

Visual C++

2009-12-25 13:58:15

LINUX光標移動

2021-03-07 22:37:17

Go代碼模式

2009-11-10 11:22:11

Visual Stud

2009-12-25 18:05:05

Linux壓縮程式

2016-03-30 09:56:07

c語言變量聲明objectivec

2022-04-27 08:22:41

非代碼形式開源開發(fā)者

2009-12-29 13:22:17

2016-06-30 09:36:53

IT眾包服務解放號中軟國際
點贊
收藏

51CTO技術棧公眾號

精品国产乱码久久久久久天美| 亚洲一区国产一区| 欧美一级黄色大片| 青青青在线视频播放| 国产成人无码www免费视频播放| 国语精品一区| 亚洲欧美中文在线视频| 高清一区在线观看| 精品国产丝袜高跟鞋| 国产精品羞羞答答xxdd | 国产婷婷在线观看| 日本在线视频1区| 久久综合影视| 久久99热精品这里久久精品| 黄色片视频免费观看| 成人在线免费电影网站| 亚洲在线中文字幕| 日韩欧美激情一区二区| 国产a级免费视频| 亚洲欧美日韩在线观看a三区| 久久精品视频播放| 久久国产精品影院| 视频欧美一区| 欧美午夜不卡视频| 波多野结衣乳巨码无在线| 色三级在线观看| 久久综合狠狠综合久久综合88| 国产精品白丝jk喷水视频一区| av在线天堂网| 欧美成人xxxx| 欧美午夜精品在线| 黄色一级片黄色| 日本在线免费中文字幕| 91片在线免费观看| 国产精品乱码视频| 国产精品女同一区二区| 丝袜美腿亚洲色图| 欧美一性一乱一交一视频| 欧美日韩精品在线观看视频| 成人精品天堂一区二区三区| 亚洲精品一区在线观看香蕉 | 成人精品视频一区| 欧美黑人xxxx| 国产一区二区三区四区在线| 成人自拍在线| 一级中文字幕一区二区| 亚洲天堂电影网| 一级片在线免费观看视频| 欧美一级网站| 欧美一区二区三区免费视| 国产性一乱一性一伧一色| 亚洲精品高潮| 91精品国产综合久久久久久久| 北条麻妃在线一区| 亚洲性色av| 精品成人久久av| 欧美 日韩 亚洲 一区| 免费在线观看av电影| 一区二区三区欧美视频| 日韩成人午夜影院| 91蜜桃在线视频| 国产精品亚洲第一区在线暖暖韩国| 国产精品天天狠天天看| 日韩中文字幕高清| 麻豆91小视频| 成人精品视频久久久久| 欧美三级小视频| 中出一区二区| 欧美韩国理论所午夜片917电影| 成年人午夜剧场| 夜间精品视频| 性欧美xxxx交| 青青青国产在线| 日韩影院精彩在线| 成人久久精品视频| 成人av一区二区三区在线观看| 国产超碰在线一区| 精品欧美日韩在线| 91影院在线播放| 国模少妇一区二区三区| **亚洲第一综合导航网站| 亚洲精品字幕在线| 91免费看视频| 亚洲 国产 日韩 综合一区| 爱久久·www| 亚洲欧美激情插| 欧美精品久久久久久久久久久| 日韩精品极品| 欧美日韩中文另类| xxx中文字幕| 欧美a级网站| 777xxx欧美| av电影中文字幕| 免费看久久久| 亚洲视频在线观看| 欧美精品久久久久久久久46p| 国产综合视频| 国产精品美女免费| 丰满熟妇人妻中文字幕| 久久久国际精品| 美女在线免费视频| 在线免费三级电影网站| 欧美日韩午夜精品| www.17c.com喷水少妇| 精品九九在线| 久久久久久久久久国产| 波多野结衣黄色| 丁香六月综合激情| 亚洲国产日韩欧美| 91九色在线播放| 在线亚洲精品福利网址导航| 黄色a级三级三级三级| 天海翼精品一区二区三区| 久久久精品国产亚洲| 91视频免费网址| 亚洲精品系列| 国产啪精品视频| 同心难改在线观看| 丁香亚洲综合激情啪啪综合| 欧美中日韩一区二区三区| 2024最新电影免费在线观看 | 超碰成人免费在线| 欧美高清影院| 亚洲片av在线| 亚洲精品77777| 国产美女娇喘av呻吟久久| 欧美日韩精品免费观看| av资源一区| 日韩欧美一二三| 国产麻豆a毛片| 日韩久久精品网| 国产91精品久久久久久| 国产成人a人亚洲精品无码| 久久亚洲欧美国产精品乐播| 青青青青在线视频| 国产精品综合网站| 你懂得视频在线观看| 日韩午夜av在线| 成人午夜激情网| 日韩三级久久久| 水蜜桃久久夜色精品一区的特点| 国产日韩精品推荐| 亚洲第一天堂久久| 国产无遮挡裸体免费久久| 久久精品视频中文字幕| 日批视频免费观看| 国产亚洲精品超碰| 99精品视频在线看| 日韩成人动漫在线观看| 国内精品一区二区三区四区| www.看毛片| 亚洲精品欧美二区三区中文字幕| 亚洲天堂男人的天堂| 超碰av在线免费观看| 天堂99x99es久久精品免费| 欧美三级电影在线| 欧美精品情趣视频| 国产乡下妇女做爰视频| 成人午夜电影网站| 久久99中文字幕| 亚洲福利合集| 国内成人精品一区| 飘雪影院手机免费高清版在线观看| 亚洲午夜免费视频| 日本一区二区在线免费观看| 伊人天天综合| 精品无码久久久久国产| 中文字幕资源网在线观看免费| 日韩精品亚洲精品| 天堂网视频在线| 噜噜噜91成人网| 精品国产百合女同互慰| 久久高清无码视频| 国产99久久久国产精品潘金网站| 永久免费网站视频在线观看| 一区二区精彩视频| 午夜精品久久久久久久男人的天堂 | 亚洲成av人片在线| 手机福利在线视频| 国产欧美视频在线| 久久频这里精品99香蕉| 桃花色综合影院| 在线视频一区二区三区| 最新日韩免费视频| 国产成人精品亚洲午夜麻豆| 99久久国产综合精品五月天喷水| 一区二区三区韩国免费中文网站| 欧美激情极品| 国产日韩精品一区| 国产精品久久久毛片| 捆绑裸体绳奴bdsm亚洲| 亚洲综合影院| 国产99久久精品一区二区永久免费| 大乳在线免费观看| 这里只有精品免费| 国产成人无码aa精品一区| 成人av网在线| 黄色在线视频网| 欧美午夜一区| 日产中文字幕在线精品一区| www一区二区三区| 午夜精品在线观看| 麻豆电影在线播放| 精品亚洲男同gayvideo网站| 国产又粗又猛又爽又黄视频| 午夜免费久久看| 精品视频1区2区| 久久资源av| 欧美极品在线| 97婷婷大伊香蕉精品视频| 国产三级在线免费| 国产日韩精品一区二区三区| aaa一级黄色片| 欧美亚洲视频| 日韩亚洲欧美一区二区| 巨胸喷奶水www久久久免费动漫| 日韩在线播放一区| 视频一区二区在线播放| 欧美一区二区三区婷婷月色| 国产精品久久久久久久久久久久久久久久久 | 成人影院在线视频| 久久精彩免费视频| 最新国产中文字幕| 奇米一区二区三区av| 4444亚洲人成无码网在线观看 | 国产欧美一区二区三区不卡高清| www久久久com| 日韩av不卡一区| 国产成人精品视频在线观看| 后进极品白嫩翘臀在线播放| 色偷偷偷综合中文字幕;dd| 日本成人一区二区三区| 亚洲成在人线av| 亚洲国产精品久久久久爰性色| 91.com视频| 国产毛片一区二区三区va在线 | 美女又爽又黄视频毛茸茸| 国产传媒一区在线| 超碰中文字幕在线观看| 黄网站免费久久| 日韩av.com| 九一九一国产精品| 亚洲精品综合在线观看| 蜜臂av日日欢夜夜爽一区| 亚洲欧洲精品一区| 午夜精品影视国产一区在线麻豆| 成人免费视频网站| 色呦呦网站入口| 一道在线中文一区二区三区| 91精品国产99久久久久久红楼| 成人国产综合| 国产成人精品最新| 亚洲mmav| 国产精品久久久久秋霞鲁丝| 鲁鲁在线中文| 欧美资源在线观看| 在线看片国产福利你懂的| 午夜欧美不卡精品aaaaa| 手机在线观看av网站| 欧美精品第一页在线播放| 欧美人与牲禽动交com| 欧美黑人性视频| 久草在线新免费首页资源站| 草民午夜欧美限制a级福利片| 一区二区www| 精品视频在线免费| 最近中文字幕在线免费观看| 欧美午夜片在线看| 国产精品一区二区黑人巨大| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 神马久久久久久久| 欧美日韩国产高清一区二区三区| 中文 欧美 日韩| 欧美日韩成人一区二区| 国产精品av在线播放| 亚洲欧美韩国| 人人爽久久涩噜噜噜网站| 成人网ww555视频免费看| 国产裸体写真av一区二区| 999精品视频在线观看| 国产精品一区二区av| 香蕉久久精品日日躁夜夜躁| 欧美久久久久久一卡四| 99re66热这里只有精品8| 97超碰人人爱| 激情久久久久| 久久精品网站视频| 麻豆91精品91久久久的内涵| 亚洲精品mp4| 免费a级片在线观看| 亚洲免费观看高清| www..com国产| 色婷婷综合五月| www色aa色aawww| 亚洲不卡一区二区三区| 中文字幕超碰在线| 欧美视频在线一区二区三区| 亚洲最大成人av| 亚洲成人一区二区| 成人免费毛片男人用品| 欧美系列日韩一区| 亚洲精品一区二区三区区别| 亚洲国产小视频| 国产福利视频在线| 2021久久精品国产99国产精品| 成人在线免费| 久久99精品久久久久久三级| 成人激情诱惑| 国产xxxxx在线观看| 精品无人码麻豆乱码1区2区| 污污内射在线观看一区二区少妇| 国产精品国产三级国产普通话蜜臀 | 国产乱一区二区| 成人黄色免费网址| 一卡二卡三卡日韩欧美| 国产呦系列欧美呦日韩呦| 国产欧美高清视频在线| 国产精品9999久久久久仙踪林 | 91精品黄色片免费大全| 午夜视频免费在线| 在线观看欧美日韩| 无遮挡爽大片在线观看视频| 国产这里只有精品| 成人污版视频| 一区二区高清视频| 媚黑女一区二区| 中国一级特黄录像播放| 亚洲男人都懂的| 欧美在线视频精品| 亚洲日韩中文字幕| 成人影院在线播放| 国产日韩在线播放| 日韩理论片av| 色综合av综合无码综合网站| 国内精品久久久久影院色| 四虎国产成人精品免费一女五男| 五月天激情小说综合| 国产毛片一区二区三区va在线| 色偷偷亚洲男人天堂| 电影亚洲精品噜噜在线观看| 久久精品magnetxturnbtih| 欧美99久久| 天天做天天干天天操| 亚洲欧美在线视频观看| 懂色av中文字幕| 亚洲人成电影网站色…| free欧美| 欧美系列一区| 日韩电影在线一区二区| 免费成人深夜夜行p站| 亚洲国产精品精华液网站| 免费看日韩av| 国模视频一区二区三区| 91精品国产自产精品男人的天堂| 日韩亚洲欧美一区二区| 国产精品影视网| 无码少妇精品一区二区免费动态| 色狠狠一区二区| 噜噜噜噜噜在线视频| 国产精品福利网站| 欧美日韩中字| mm131亚洲精品| 亚洲精品美腿丝袜| 国内精品国产成人国产三级| 久久久久久成人精品| 99精品国产一区二区三区2021| 青青草综合视频| 成人综合激情网| 影音先锋亚洲天堂| 日韩av在线最新| 日韩精品麻豆| 亚洲一区二区三区在线观看视频| 韩国av一区二区三区四区| 国产又粗又硬又长又爽| 91麻豆精品国产无毒不卡在线观看| 18视频在线观看网站| eeuss一区二区三区| 伊人久久大香线蕉精品组织观看| 秘密基地免费观看完整版中文| 亚洲成人1区2区| eeuss影院www在线播放| 国产欧美韩国高清| 日本道不卡免费一区| 九色91porny| 欧美日韩免费一区| 在线观看av黄网站永久| 91免费看国产| 伊人天天综合| 国产精品69久久久久孕妇欧美| 在线播放亚洲一区| 色在线中文字幕| 亚洲午夜在线观看| 国精产品一区一区三区mba视频 | 国产成人精品999在线观看| wwww.国产| 亚洲午夜精品在线| 尤物网在线观看| 国产精品国产精品| 国产一区二区三区久久久久久久久| 手机看片国产日韩|