記一次maven構(gòu)建正常,而Intellij IDEA中啟動(dòng)時(shí)找不到間接依賴的jar包。
項(xiàng)目中需要使用第三方的提供的SDK。該SDK依賴okhttp等其他jar包。由于該SDK在maven倉庫中沒有,只能用`maven install:install-file`添加到本地maven倉庫中去。第一次安裝時(shí),用的`maven-install-plugin`插件是2.5.2版本,該插件版本無法從上述SDK中提取pom文件,會(huì)默認(rèn)生成一個(gè)簡單的pom文件(里面自然不包含所依賴的jar包,如okhttp),構(gòu)建運(yùn)行時(shí)會(huì)找不到okhttp中的相關(guān)類。后來把`maven-install-plugin`升級為3.0.0-M1,maven構(gòu)建成功了,但在Intellij中啟動(dòng)時(shí),卻依然找不到okhttp。思索一下,覺得沒道理啊,后來突然想到是不是intellij有緩存,于是找到項(xiàng)目的pom文件,把所依賴的sdk那一行刪掉,發(fā)現(xiàn)intellij開始計(jì)算重新計(jì)算依賴的jar包,此后再把刪掉的內(nèi)容加上去,發(fā)現(xiàn)就正常了。
猜測:項(xiàng)目中pom文件變化時(shí),intellij才會(huì)重新計(jì)算依賴關(guān)系。此后,即使maven倉庫有變化,intellij也不會(huì)重新拉取。
maven install參考鏈接(如何安裝第三方j(luò)ar包到本地倉庫):
1. Maven – Guide to installing 3rd party JARs