想了解一下在搭框架的時候對jar包這方面需要注意的問題有哪些
工程和jar包引用的順序,Eclipse通過classpath來定義類的引用關系,通常,我們用的最多的是源代碼,源碼工程,jar包,它們的順序很重要,這也是導致jar包版本不一致的一個原因,想象一下,目的工程依賴A工程和B jar包,同時A工程也依賴B jar包,當然也引用了它,那麼目的工程到底去尋找直接引用的B jar包呢還是引用A工程依賴的jar包?這三者之間的順序有關系,我不建議你憑感覺行事,最有效的辦法就是設置在B jar包的入口處設置一個斷點,看它到底依賴的是哪個jar包。
很多工程都有配置文件,拿我們公司的來說,客戶端有啟動順序xml配置文件,服務器端有服務器服務xml配置文件,有沒有想過再Eclipse環境下是按什麼方式找這些配置文件的,它查找目錄的順序又是怎樣的?如果這些配置定義重復了會不會有問題?我就遇到過這樣一種情況,A客戶端定義了一份啟動配置文件xml,平台客戶端定義了一份啟動配置文件xml,A客戶端依賴平台客戶端,最後它找到了兩份啟動配置文件xml,每一個task任務都重復加了一次,導致客戶端啟動出現問題。
說了上面三點我們經常遇到的問題根源,那麼我再說說解決jar包版本問題不一直的最佳途徑,首先,你要對哪些工程依賴哪些包,而這些包又是干什麼的要熟悉,然後,將這些jar包都整理成一個版本統一放在一個文件夾下,然後將Eclipse的wokespace下工程依賴的jar包都指向這個文件夾下,保證整個wokespace下面用到的jar包都是同一個jar包。然後,建立工程,最重要的一點是,整個過程保持頭腦十分清晰,不要犯低級錯誤,否則你會疲於奔命,而且,你做的每一個操作你必須要給出足夠的理由。第一階段是編譯器通過,保證不會出現編譯錯誤,第二階段就是程序運行正常,這一階段通常都是程序啟動時會遇到很多問題,這種問題最霸道的解決辦法就是深入代碼!不要覺得這是一個小問題,深入代碼可能會浪費你很多時間,你錯了,如果你不深入代碼,僅僅憑感覺操作的話,你會浪費十倍的時間!