公司開(kāi)發(fā):多項(xiàng)目開(kāi)發(fā)(含多模塊)的畴,基于模塊的開(kāi)發(fā)
方式一:新建立Maven站點(diǎn)pom項(xiàng)目:
有一個(gè)父工程塘砸,有多個(gè)子模塊。聚合工程钧惧。但是父工程不做具體的業(yè)務(wù)開(kāi)發(fā)暇韧。僅僅只是做依賴(lài)包的版本管理。一個(gè)項(xiàng)目可以有多個(gè)子項(xiàng)目的做法浓瞪。
第一步:創(chuàng)建一個(gè)父項(xiàng)目
搭建多模塊項(xiàng)目懈玻,必須要有一個(gè)packaging為pom的根目錄。
NEW -->project-->maven-->maven Project乾颁,點(diǎn)擊下一步涂乌,進(jìn)入new maven Project的Select project name and location界面(選擇maven-Archetype-site-simple)
父工程不做具體的業(yè)務(wù)開(kāi)發(fā),所以刪除src目錄
父項(xiàng)目只有一個(gè)pom文件钮孵,用來(lái)管理所有子項(xiàng)目的jar包骂倘。
白話(huà):空項(xiàng)目,只有pom文件巴席。
第二步:創(chuàng)建普通模塊
添加多個(gè)子模塊
必須在父項(xiàng)目上點(diǎn)擊右鍵:創(chuàng)建模塊历涝,不是創(chuàng)建項(xiàng)目。
基本應(yīng)用:選擇maven-archetype-site-quickStart
Web應(yīng)用:選擇maven-archetype-webapp
屬于父工程:
注意子模塊的路徑:
有頁(yè)面的地方就可以創(chuàng)建web項(xiàng)目。
新創(chuàng)建的項(xiàng)目必須觀(guān)察顏色荧库。
父子多模塊工程也叫聚合工程堰塌。
第三步:模塊之間調(diào)用
模塊之間用坐標(biāo)依賴(lài):
<dependency>
<groupId>com.qf.service</groupId>
<artifactId>xiaomi-dao</artifactId>
<version>1.0</version>
</dependency>
代碼使用:
public class XiaoMiService {
public String xiaomiService(){ //希望調(diào)用DAO 的能力
XiaoMiDAO dao = new XiaoMiDAO();
String res = dao.addXiaoMi();
return "小米服務(wù):"+res; } //測(cè)試
public static void main(String[] args) {
XiaoMiService xiaoMiService = new XiaoMiService();
String service = xiaoMiService.xiaomiService();
System.out.println(service);
}
}
測(cè)試的時(shí)候注意統(tǒng)一設(shè)置JDK的編碼
注意上面部分 就是多模塊 但是注意指針部分 需要修改成 1.8 要不然編譯時(shí)候回出現(xiàn)警告或者異常。
上面部分也要注意分衫,都要修改成一致的
后面會(huì)給大家介紹同一修改的插件 场刑,但是此方法也需要學(xué)會(huì)。
擴(kuò)展拔高[在第一種方案的基礎(chǔ)上:(了解)
目錄結(jié)構(gòu)的變化:
子模塊可以不用添加到父模塊目錄中:(修改了默認(rèn)的目錄結(jié)構(gòu))
注意我用箭頭標(biāo)注的地方
子模塊可以不添加到父模塊的目錄中 但是還是依賴(lài)父模塊 (需要特別注意)
目錄選擇注意蚪战,不放在父模塊的下面
注意上面的剪頭所指向的目錄地址 并不在父模塊的文件目錄下
觀(guān)察項(xiàng)目目錄如下 就生成了一個(gè) 同父級(jí)目錄相同的并且依賴(lài)父項(xiàng)目的模塊
方式二:創(chuàng)建項(xiàng)目牵现,選擇Empty project,類(lèi)似Eclipse放多項(xiàng)目的方式邀桑。 這種方式可以不需要父工程瞎疼。
第一步:創(chuàng)建空工程
效果:
選擇SDK
第二步:創(chuàng)建模塊項(xiàng)目(普通+web)
選擇File–>New–>Module,進(jìn)入New Module頁(yè)面:
可以創(chuàng)建多個(gè)普通項(xiàng)目和web項(xiàng)目,都在這個(gè)空的工程中壁畸。
鼠標(biāo)需要點(diǎn)在最外層External Libraries上贼急,避免創(chuàng)建的模塊屬于某個(gè)模塊
點(diǎn)擊下方的包 進(jìn)行 new module 創(chuàng)建新的模塊
新建模塊:
注意沒(méi)有單獨(dú)創(chuàng)建父工程:
注意路徑直接屬于空工程中:
第三步:模塊之間調(diào)用
打包:
坐標(biāo)引用:
注意JDK編譯版本:
一處:
二處:
三處:
方式一:
方式二:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
完成上面的設(shè)置之后 ,就可以很方便的互調(diào)用了捏萍。