手上的一個工程包含多個子模塊,子模塊有依賴另外的子模塊。簡單的說,例如有base 和 service兩個模塊,service依賴base的jar包。
之前是 新建一個工程,工程創(chuàng)建的第一個模塊為base, 在里面配置了相關的pom.xml依賴,以及添加了基礎java庫。
然后再新建一個service模塊來引用base模塊。在開發(fā)階段,intelij idea上直接新建spring boot app運行, 一切正常。但是等到要發(fā)布的時候,發(fā)現(xiàn)service模塊 maven install 報錯。一直都是報沒有base.jar。
不過也很奇怪,單獨maven install base報成功了,但是find -name *jar并沒有看到有生成jar包。于是新建工程來作實驗,發(fā)現(xiàn)按照如下方式構建是正常的。
新建工程proj, proj作為第一個模塊(默認),在pom.xml中只追加需要的依賴庫, 不增加任何java文件的實現(xiàn),即不指望它生成jar包之用。
然后新建base模塊,在里面新增java基礎類,可以生成base.jar
然后新建service模塊,在里面添加對應的依賴。maven install 可以正常生成最終的jar包。
感覺應該是root module不能有java的實現(xiàn),root module 的作用是一個模塊清單。