1. 程式人生 > >發現一個問題,十分蛋疼。 我們專案是由N個工程組成的,外圍工程是web工程,內部的工程打包成jar,放入外圍工程的WEB-INF/lib 內部的工程用到了spring的註解,例如@Service、

發現一個問題,十分蛋疼。 我們專案是由N個工程組成的,外圍工程是web工程,內部的工程打包成jar,放入外圍工程的WEB-INF/lib 內部的工程用到了spring的註解,例如@Service、

發現一個問題

我們專案是由N個工程組成的,外圍工程是web工程,內部的工程打包成jar,放入外圍工程的WEB-INF/lib

內部的工程用到了spring的註解,例如@Service、@Controller等,在打成jar包之前,是可以掃描到的,但是打成jar包之後,就掃描不到了,報NoSuchBeanException

在網上搜索了一下,發現了一個辦法,就是在用eclipse export jar的時候,勾選add directory entries



這樣打出來的jar包,可以解決這個問題,在外圍也可以掃描到jar包內用註解宣告的bean。如果沒有勾上add directory entries,就不行了

用jar命令,比較了一下兩種方法打出的jar包的區別,如圖:





可以看到,勾選了add directory entries之後打出的jar包,多了路徑的資訊,可能這就是區別

不過現在問題是,我們不可能都用手工export jar的方式來一個個匯出jar包,不知道在maven中,要配置外掛的什麼引數,可以達到同樣的效果