我想分析一个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 –