我说的是反射库。是否有可能获得我让代码编译的项目中包含的所有包的列表?
我已经尝试使用以下代码括号,但我不想插入项目名称。
Reflections reflections = new Reflections(/* Project name here... */);
Set<Class<? extends Object>> allClasses =
reflections.getSubTypesOf(Object.class);
我说的是反射库。是否有可能获得我让代码编译的项目中包含的所有包的列表?
我已经尝试使用以下代码括号,但我不想插入项目名称。
Reflections reflections = new Reflections(/* Project name here... */);
Set<Class<? extends Object>> allClasses =
reflections.getSubTypesOf(Object.class);
不使用 ronmamo/reflections 而是使用Google Guava 的 ClassPath,可以执行以下操作:
Set<ClassInfo> classInfos = ClassPath.from(Main.class.getClassLoader()).getTopLevelClassesRecursive("org.spongepowered");
List<String> packageNames = classInfos.stream().map(classInfo -> classInfo.getPackageName()).distinct().collect(Collectors.toList());