乙個奇怪的問題的解決方法

2021-05-02 02:18:31 字數 909 閱讀 3562

前段時間寫了個函式,通過反射機制得到jar包下,所有類以及測試方法,但是今天將應用部署到linux伺服器上,測試怎麼都跑不通而且包解析的類找不到,為此非常鬱悶,開始查錯。

第一步,懷疑是jar包路徑的問題,將jar包拷貝到預設路徑下,進行驗證,可以解析類,於是想著是否可以讓jboss的應用能夠識別不放在預設路徑下jar包,也就是動態新增classpath.為此花費了很多時間。結果證明這是徒勞的而且不符合jboss本身的設計原則。

第二步,仔細研究函式所用的方法,urlclassloader,發現它本身就是動態載入jar包的意思,也就是說無需將jar包拷貝到預設路徑,也就是證明我第一步的做法是徒勞的。那麼是什麼原因呢。同時在本地的測試環境下經過反覆的測試,都是沒有問題的。於是就想肯定是jar包路徑指定的有問題。windows下jar包訪問url和linux下jar包訪問url是有區別的。

第三步,瘋狂查詢linux下jar包訪問url的特殊性, google輸入「urlclassloader linux」 輸入"classloader linux" 瘋狂的找啊,找,都沒有我需要的答案,就在即將放棄的時候(查了差不多5個小時)。突然靈光一閃為什麼步輸入我現在訪問url的方式呢於是輸入"file:/home/admin";這裡我知道一般/home/admin的檔案結構都是指linux了。果然發現我需要的資訊,原來linux下url資源訪問的格式是file:///home/admin ;而我的程式是按windows的標準來寫的,是:file:/c:/test.jar;於是問題得到解決。寫上面的文字,目的兩個

1.說明查證問題的時候,方法很重要,其實應該從小處出發,先review自己函式中每行**很重要,然後才通過其他手段來驗證,而在這個例子中我如果遵循這個原則就不會走第一步的冤枉路了。

2.堅持很重要,做測試做久了以後這點品質的確得到很大的提高,按以前老早換別的途徑了。

當然堅持過了,就變成固執了。

乙個奇怪的問題的解決方法

前段時間寫了個函式,通過反射機制得到jar包下,所有類以及測試方法,但是今天將應用部署到linux伺服器上,測試怎麼都跑不通而且包解析的類找不到,為此非常鬱悶,開始查錯。第一步,懷疑是jar包路徑的問題,將jar包拷貝到預設路徑下,進行驗證,可以解析類,於是想著是否可以讓jboss的應用能夠識別不放...

乙個有用的故障解決方法

樓主wjf666 2006 01 24 01 29 53 在 windows專區 windows nt 2000 xp 2003 提問 我用的是xp sp2 系統,用xp自帶的adsl撥號軟體撥號上網,現在只要一撥號機器就象宕機一樣,任務攔沒有響應,大致要 分鐘機器才可恢復,然後就一切正常了 如果在...

Emgu CV的乙個異常的解決方法

今年組裡有大專案落我頭上了,並不能像去年一樣回家還能搞搞cocos2dx,一把老淚流了下來。回到正題,由於組裡需要做乙個顯示板的自動測試專案,涉及到computer vision。不得不說,這才是專案裡的大坑。之前一直在做其他基礎庫的研發,最近開始了視覺識別的研發進度。由於市面上沒有很合適的開源工業...