gpt4 book ai didi

java - 我怎样才能用 Guava 获得给定包的所有类

转载 作者:行者123 更新时间:2023-12-01 09:28:05 24 4
gpt4 key购买 nike

我正在处理一个 Maven 项目,我将 Guava 依赖项和其他项目的依赖项添加到我的 pom.xml 文件中。我想获取该项目的给定包的所有类,我已将其作为依赖项添加到我的 pom 中。
所以我试过这个:

public void getClassOfPackage() {

final ClassLoader loader = Thread.currentThread()
.getContextClassLoader();
try {
for (final ClassPath.ClassInfo info : ClassPath.from(loader)
.getTopLevelClasses()) {

System.out.println(info.getSimpleName());

}
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
new TestMain().getClassOfPackage();
}

我知道这是错误的,因为它在控制台中给出了:
HierarchicalConfigurationConverter
HierarchicalConfigurationXMLReader
HierarchicalINIConfiguration
SubsetConfiguration
SystemConfiguration...

我不知道在哪里可以指定我正在谈论的项目,以及如何只传递包名称并为我提供它包含的所有类。

最佳答案

我可以显示在同一个项目中的所有类,但对于在 pom.xml 中添加为依赖项的其他项目还没有:
我们在同一个项目中的解决方案:

 public void getClassOfPackage() {

final ClassLoader loader = Thread.currentThread()
.getContextClassLoader();
try {

ClassPath classpath = ClassPath.from(loader); // scans the class path used by classloader
for (ClassPath.ClassInfo classInfo : classpath.getTopLevelClasses("org.mypackage")) {
System.out.println(classInfo.getSimpleName()+" <==> "+classInfo.getPackageName());
}
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
new TestMain().getClassOfPackage();
}

关于java - 我怎样才能用 Guava 获得给定包的所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28327389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com