我們在開發的時候,有時候需要把一個大的項目打散,尤其是現在微服務的架構很流行,一個大的項目往往被拆成很多小的項目,而有的項目作為公共工程被獨立出來,比如有個工程專門提供各種Util工具類,有的工程專門提供數據庫接口。
這些工程在項目結束后往往被打成jar包直接依賴給需要的工程,但是在開發過程中,這些工程的源碼也是一直在變的,我們不能改一次源碼編譯一個jar包吧?這里介紹一下elipse項目之間的相互依賴。
假設我們的公共工程(被別的項目引用的工程)叫 util
1、如果是java工程想引用util工程
右鍵項目→Properties→Java Build Path→Projects→Add
勾選 util 工程→OK
看見util工程已經被添加進來,點擊 Apply and Close。
這樣eclipse會自動編譯uitl工程並依賴給java工程。
2、web工程
上述設置是針對於java工程的,對於web工程的設置方式是不同的。
因為web工程不光需要編譯util工程,還涉及到web容器對編譯好的jar包進行發布。
右鍵工程名稱→Properties→Deployment Assembly→Add
選擇Project→Next
選擇util工程,點擊Finish(注意此處可以選擇多個工程)
確認util工程已經被添加進來,點擊Apply and Close,設置完成。
這里需要注意的是,如果util工程依賴其他的jar包,也是需要把這些jar包copy到web工程的lib目錄下或者把這些jar包也引入到Deployment Assembly里。
從上圖我們可以看出,eclipse會在web項目發布的時候,將uitl工程打包成uitl.jar,並發布到web容器(比如tomcat)的WEB-INF/lib/目錄下。
如果你按照java工程的方式去依賴util工程的話,web項目發布之后,在tomcat目錄下是找不到util.jar這個jar包的,到時候就會報ClassNotFound的錯了。