问题标签 [reflections]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 有人可以帮我了解 org.reflections.Reflections jar 上的 jdk 版本兼容性吗
我是第一次使用 Reflections.jar,所以我想知道以下内容
- 这个 jar 是否有任何版本兼容性(如上面的 jdk6(或)到 jdk8)
- 加载类时是否有任何加载顺序(如字母顺序(或)放置在类路径中的 jar 顺序)
java - Optaplanner - 运行可执行 jar 时出错,但在 eclipse 中工作正常
我将 eclipse 用于我的 optaplanner 项目开发,并且我能够毫无问题地从 eclipse 执行我的代码。为了使这个项目成为可执行文件,我使用 eclipse 导出向导将它导出为 jar 文件。
然后我使用命令从终端运行我的 jar java -jar myOptaPlanner.jar
,然后,我得到以下错误
这真的是一个错误还是我导出错误?
更新:我尝试使用导出 jar maven-shade-plugin
,在这里我也遇到了同样的错误。
谢谢
java - org.reflections.Reflections 找不到我的课程(与我编写 lambda 的方式有关)
我正在使用GATK,这是一个用于生物信息学的 java 工具。它在后台使用 org.reflections.Reflections 来加载一些插件。
我的插件已编译但在类路径中时没有被 GATK 找到/加载,并且类似的工具可以正常工作。通过删除部分代码,我将问题缩小到导致我的问题的以下行(请参阅filter):
如果我将上面的行更改为:
如果该行是,它也会被加载:
为什么 ?
java - 谷歌对 Android 的反思没有获得任何课程
我正在尝试使用Reflections 库来获取使用特定 Java annotation 注释的所有类。
我在 .gradle 文件中包含了 Reflections 库:
但是,该库不适用于我在 Android 上。我没有从 no 和 中得到任何getSubTypesOf
点击getTypesAnnotatedWith
。
我的实施有什么问题吗?
所以问题可能是...... Google-reflections 库是否适用于 Dalvik
java - Reflections Library to Find All Classes within a Package
I am using the below code to find all of the Classes within a given package name. This works fine when the code is placed directly into my project. However, calling the service from a Commons Jar I put together isn't returning the data from my project. Can this be achieved? I am using org.reflection.Reflections library.
java - 如果我使用反射来获取扩展公共类的类,该列表是否也会包含所有递归继承的类?
假设我有
我有以下代码
该集合将classes
包含类D
和E
???
java - Guava ClassPath.from(MyClass.class.getClassLoader()).getTopLevelClassesRecursive("mypackage") 返回 0 个元素
在我的一个项目中,我使用 Guava 从命令行获取类名,然后调用适当的构造函数。用户使用以下内容运行 .bat 文件:
java -jar MyClass.jar 其他类
OtherClass 位于某些包中,例如 mypackage.otherpackage。我想在代码中调用它的构造函数。为了找到构造函数,我使用 Guava:
它在一台计算机上运行完美,但在另一台计算机上根本不起作用,因为ClassPath.from(MyClass.class.getClassLoader()).getTopLevelClassesRecursive("mypackage");
返回 0 个元素。我不明白为什么。两台计算机上的代码相同,包相同,类也相同。
java - 为什么getTypesAnnotatedWith返回没有注释的类
我正在尝试在 Java 中使用类注释,但我有一个奇怪的行为,即返回getTypesAnnotatedWith
一个返回的类。getAnnotation
null
是否有某些原因getTypesAnnotatedWith
返回没有注释的类?
例如,在我的项目中,以下代码(正确)返回了我注释的类之一:
但是,如果我调用getAnnotation
它,结果是null
:
这是注释:
而且,为了完整起见,这就是我注释类的方式:
java - 查找接口的所有实现,包括 lambda
我有一个单元测试,可以搜索我的项目并找到特定接口的所有实现。然后对于作为内部类的每个实现,我断言它不捕获外部类。
我使用Reflections库来执行此操作,它确实有效,但现在我需要测试另一个接口,其中许多实现都是 lambdas。遗憾的是,Reflection找不到接口的 lambda 实现。
我可以使用另一种适用于 lambda 的解决方案吗?
java - 自定义 java gradle 插件中的反射
我有一个包含多个模块的 gradle 项目,每个模块都构建到它自己的 .jar 文件中。我想在自定义 java gradle 插件中使用反射,以生成关于带注释的类/方法的报告。
/build.gradle
/buildSrc/build.gradle
/buildSrc/src/main/java/com/my/plugins/MyPlugin.java
/buildSrc/src/main/java/com/my/plugins/MyTask.java
当我运行gradlew mytask时,我会在 URL 列表中的 build\libs 下看到所有 .jar 文件的列表。
尽管 classLoader 可以成功加载(例如)MyClass,但新的 Reflections() 行会生成许多“无法获取名称的类型”错误,例如:
无法从任何类加载器获取名称 com.my.services.sample.MyClass 的类型
然后,PermitAll Classes 列表正确生成,但 PermitAll 方法列表失败并出现异常,例如:
任务 ':mytask' 执行失败。
> org/dom4j/DocumentException
我已经使用以下内容作为指南,但无法取得任何进一步的进展:
https://discuss.gradle.org/t/gradle-plugin-with-reflections/22690