手上的一個工程包含多個子模塊枯怖,子模塊有依賴另外的子模塊。簡單的說肿轨,例如有base 和 service兩個模塊塘淑,service依賴base的jar包萝招。
之前是 新建一個工程,工程創(chuàng)建的第一個模塊為base存捺, 在里面配置了相關(guān)的pom.xml依賴槐沼,以及添加了基礎(chǔ)java庫捌治。
然后再新建一個service模塊來引用base模塊。在開發(fā)階段兼吓,intelij idea上直接新建spring boot app運(yùn)行, 一切正常视搏。但是等到要發(fā)布的時候县袱,發(fā)現(xiàn)service模塊 maven install 報錯。一直都是報沒有base.jar式散。
不過也很奇怪,單獨(dú)maven install base報成功了暴拄,但是find -name *jar并沒有看到有生成jar包。于是新建工程來作實(shí)驗(yàn)响驴,發(fā)現(xiàn)按照如下方式構(gòu)建是正常的撕蔼。
新建工程proj石蔗, proj作為第一個模塊(默認(rèn))畅形,在pom.xml中只追加需要的依賴庫养距, 不增加任何java文件的實(shí)現(xiàn)日熬,即不指望它生成jar包之用。
然后新建base模塊耘纱,在里面新增java基礎(chǔ)類毕荐,可以生成base.jar
然后新建service模塊束析,在里面添加對應(yīng)的依賴憎亚。maven install 可以正常生成最終的jar包。
感覺應(yīng)該是root module不能有java的實(shí)現(xiàn)蝶锋,root module 的作用是一個模塊清單什往。