我想分析一個java項目的代碼。 我有一個jar文件,我使用insertClassPath函數添加到javassist路徑中進行分析。如果我嘗試從項目中訪問一個類,一切正常。 問題是我還需要訪問項目使用的庫中的類。用javassist加載庫jar
我試圖將庫添加到類路徑中,就像我使用項目jar一樣,但是我得到一個NotFoundException,所以我想我沒有給出正確的路徑。
的代碼看起來是這樣的:
String jarFileName = "C:/Users/diana/Desktop/Test/ckjm.jar";
ClassPool pool = ClassPool.getDefault();
try{
pool.insertClassPath(jarFileName);
pool.insertClassPath("C:/Users/diana/Desktop/Test/ckjm/lib/bcel-5.2.jar");
} catch (NotFoundException e) {
System.out.println("error loading jar!!");
}
我用harcoded字符串只是用於測試目的。該jar文件位於lib文件夾或歸檔到jar中的項目中。 我不知道如何添加另一個jar中包含的jar。
注:如果我把圖書館作爲一個單獨的jar(並給予路徑,如:「C:/Users/diana/Desktop/Test/bcel-5.2.jar」),它炒菜罰款
任何幫助將不勝感激
我都試過,但我依然無法從罐子訪問類。 insertClassPath函數不會引發異常,但是當我嘗試使用pool.get(className)訪問類時,我得到NotFoundException –