多個(gè)模塊化相互關(guān)聯(lián)引用的時(shí)候公共模塊common在引用后打包失敗誉裆,因?yàn)槭莻€(gè)javaEE項(xiàng)目不是springboot項(xiàng)目书斜,使用的構(gòu)建工具是maven,項(xiàng)目分了很多模塊,并且模塊之間還存在一定的依賴(lài)撞叨,比如說(shuō)一個(gè)項(xiàng)目common是提供各項(xiàng)目通用的工具類(lèi)实辑,公共的類(lèi)等
例子:項(xiàng)目root,有module common,front,mall等其中front 和mall都依賴(lài)于common,將來(lái)需要上線部署的也是front和mall項(xiàng)目,所以?xún)蓚€(gè)項(xiàng)目是要進(jìn)行打包买雾,也就是這個(gè)打包操作把曼,讓我浪費(fèi)了好多時(shí)間,這里都是我親身經(jīng)歷的血淚史漓穿。嗤军。
當(dāng)使用Maven對(duì)front項(xiàng)目直接進(jìn)行package時(shí),提示依賴(lài)于common的jar包找不到晃危。因?yàn)橹苯訉?duì)front打包叙赚,common并沒(méi)有被打包,依賴(lài)關(guān)系無(wú)法保持。這時(shí)你要做的就是震叮,首先對(duì)項(xiàng)目common進(jìn)行install沿量,
注意!注意冤荆!這里有一個(gè)巨坑朴则,我已經(jīng)義無(wú)反顧的跳進(jìn)去一次了,大家一定不要再往里面跳了:Common打包出來(lái)的應(yīng)該是不可執(zhí)行的jar包钓简,所以不要在Common的pom中定義spring-boot-maven-plugin插件乌妒,因?yàn)檫@個(gè)SpringBoot插件會(huì)在Maven的package后進(jìn)行二次打包,目的為了生成可執(zhí)行jar包外邓,如果C中定義了這個(gè)插件撤蚊,會(huì)報(bào)錯(cuò)提示沒(méi)有找到main函數(shù)。
這時(shí)你就可以去打包front項(xiàng)目了损话,當(dāng)然打包的時(shí)候可能還是不行侦啸,這里還有一個(gè)小坑,如果還是不能進(jìn)行打包的話丧枪,那么就install一下root項(xiàng)目光涂,也就是總目錄下的pom文件對(duì)應(yīng)的install操作,這樣再打包front項(xiàng)目基本上就沒(méi)有問(wèn)題了拧烦,老鐵忘闻,都是經(jīng)驗(yàn)呀,希望對(duì)你們有幫助