- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在网上查了很多资料都没有结果。我试图使用 Guava 获取我的包中的所有类,但它的行为不符合预期。它总是返回一个空集,使得无法对给定的结果执行任何操作。系统变量可能有问题,或者有其他障碍吗?
这是我的一些代码。
String packageName = "me.travja.package";
ImmutableSet<ClassPath.ClassInfo> root = null;
try {
System.out.println(ClassPath.from(getClass().getClassLoader()));
root = ClassPath.from(getClass().getClassLoader()).getTopLevelClasses();//.getTopLevelClassesRecursive(packageName);
} catch (IOException e) {
e.printStackTrace();
}
for (ClassPath.ClassInfo info : root) {
System.out.println(info.getPackageName() + " -- " + info.getSimpleName());
}
它永远不会到达最后一个sout,因为它是空的,但是打印类路径的那个会打印“com.google.common.reflect.ClassPath@33571c14”,这并不是非常有用。但据我所知,这不应该更像我的应用程序目录吗?
感谢您对此的帮助。这个问题困扰我太久了。
编辑:我做了一些挖掘。如果我的文件路径不包含空格,它似乎会按预期工作。我读到一点,这曾经是旧版本中 Guava 的问题,但我什至尝试使用 Maven 并对最新版本的 Guava 进行着色。有什么方法可以解决这个问题,还是我只需要小心我的文件路径中永远没有空格?
最佳答案
经过更多挖掘后,我使用的其他依赖项之一已经遮盖了旧版本的 Guava,这就是我的代码正在使用的。结果就坏了。我使用了反编译器,这样我就可以手动将 ClassPath 类从较新的 Guava 阴影化到我自己的代码中,并将其导入。现在可以完美运行。
关于java - Google Guava getTopLevelClasses 返回空集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60797060/
我在网上查了很多资料都没有结果。我试图使用 Guava 获取我的包中的所有类,但它的行为不符合预期。它总是返回一个空集,使得无法对给定的结果执行任何操作。系统变量可能有问题,或者有其他障碍吗? 这是我
我正在尝试使用 Guava 使用以下模式查找 Netbeans 中模块/插件中的包中的所有类: ClassLoader cl = getClass().getClassLoader(); Set cl
我正在使用 guava 的 ClassPath 来检索可用的类。对于 Java 8,这很有效,但我正在迁移到 Java 10,现在它不起作用了。我已经尝试过 guava 24.1(Maven Cent
spring-boot-maven-plugin 将所有“我的”类和第 3 方库打包在 BOOT-INF/classes.com.my.package.MyClass.class 下 这使得无法正常使
我是一名优秀的程序员,十分优秀!