找到netbeans项目中的所有公共变量?

时间:2014-03-21 11:57:19

标签: java search netbeans code-navigation

我正在调试一个包含许多类和表单的项目,对我来说非常有用,可以找到项目中使用的所有公共变量。 在Netbeans中有没有办法做到这一点?我没有能够找到Netbeans来实现这一目标。

非常感谢。

1 个答案:

答案 0 :(得分:1)

应该可以使用http://code.google.com/p/reflections/

import static org.reflections.ReflectionUtils.getAllFields;
import static org.reflections.ReflectionUtils.withModifier;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.LinkedHashSet;
import java.util.Set;

import org.reflections.Reflections;
import org.reflections.scanners.SubTypesScanner;
import org.reflections.util.ClasspathHelper;

public class PublicFieldsReflectionsTest
{
    public static void main(String[] args)
    {
        Reflections reflections = new Reflections(
            "de.your.project.prefix",
            ClasspathHelper.forClass(Object.class), 
            new SubTypesScanner(false));
        Set<Class<?>> allClasses = reflections.getSubTypesOf(Object.class);
        Set<Field> allPublicFields = new LinkedHashSet<Field>();
        for (Class<?> c : allClasses)
        {
            //System.out.println("Class "+c);
            allPublicFields.addAll(getAllFields(c, withModifier(Modifier.PUBLIC)));
        }
        for (Field field : allPublicFields)
        {
            System.out.println(field);
        }
    }
}