0
如何使用bcel classparaser獲取類名稱,元素名稱和方法名稱?我已經找到了獲取類名的方法,但元素和方法名稱給我錯誤。 任何人都可以幫助我嗎? 這裏是我的代碼(有一些錯誤存在,並沒有完成):BCEL - 獲取類名稱,元素名稱和方法名稱
import java.io.IOException;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.apache.bcel.classfile.ClassParser;
import org.apache.bcel.generic.ConstantPoolGen;
public final class BcelTest
{
// static int methods;
public static void main(String[] args)
{
ClassParser parser;
try
{
JarFile jar = new JarFile("C:\\Users\\OOO\\Desktop\\Sample.Jar");
Enumeration<JarEntry> entries = jar.entries();
ConstantPoolGen cpg = jar.entries();
while (entries.hasMoreElements())
{
JarEntry entry = entries.nextElement();
if (!entry.getName().endsWith(".class"))
continue;
parser =
new ClassParser("C:\\Users\\OOO\\Desktop\\Sample.Jar",
entry.getName());
methods = getMethodName(cpg);
MyClassVisitor visitor = new MyClassVisitor(parser.parse());
visitor.start();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
public String getMethodName(ConstantPoolGen cpg)
{
return getMethodName(cpg);
}
}
大,但如何找到這些類之間的關係?檢測來自jar文件的類是否在擴展其他類,或者是否存在對其他類對象或其他類對象的方法調用?看到這裏:http://stackoverflow.com/questions/26760153/parse-jar-file-and-find-relationships-between-classes – YDev 2014-11-05 15:07:18