我正在调试一个有许多类和表单的项目,对我来说找到项目中使用的所有公共变量是非常有用的。在Netbeans中有什么方法可以做到这一点吗?我也没能找到Netbeans的插件来实现这一点。
应该可以使用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);
}
}
}