用于分析Java源代码的API

时间:2013-11-14 09:47:10

标签: java structure analyzer

我正在设计一个模块来分析Java源代码并获得它的结构。 例如:如果有一个名为Demo.java的文件

public class A{
    private String str = "Hello  World";
    public int i = 0;
    public void f0(){}
} 

然后如何找出该类“Demo”有这些消息:

  1. >字段[] ---> str:String i:int
  2. >方法[] ----> F0:空隙
  3. 它看起来像一个语法分析器。我正在寻找任何API,框架或开源代码 为了更好地完成我的工作。如果您有任何想法,请与我分享, 非常感谢你!

3 个答案:

答案 0 :(得分:1)

反思最适合这个,

例如

Class cls = Class.forName("com.dds.core.Emp");          
Object obj = cls.newInstance();         
Field[] fields = cls.getDeclaredFields();

可以迭代这些字段以获取完整列表。有方法,构造函数等的similer方法。

几行简单代码可以为您完成此任务。

答案 1 :(得分:0)

您最好的猜测将是基于反思的方法。

以下库可能很有用:

答案 2 :(得分:0)

Apache Commons BeanUtils或guava-reflection

来自Apache Commons:

The Java language provides Reflection and Introspection APIs (see the java.lang.reflect and java.beans packages in the JDK Javadocs). However, these APIs can be quite complex to understand and utilize. The BeanUtils component provides easy-to-use wrappers around these capabilities.