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