@Annotation
class A {}
@Annotation
class B {}
class Module {
String getModuleClasses() {
return Arrays.asList(
"org.example.A",
"org.example.B"
);
}
}
这在Maven中起作用,但是当我修改类a
时,IntelliJ给我的注释处理器提供了一个RoundEnvironment
,其中a
作为单个根元素。
我知道Gradle通过将带有所有与注释匹配的源代码的假RoundEnvironment
传递给注释处理器来支持聚合注释处理器的增量编译,但是IntelliJ似乎没有类似的内容。(也许Gradle项目除外?)
当IntelliJ只编译类A
时,找到这两个类的最佳方法是什么?
FileObject resource = processingEnv.getFiler()
.createResource(StandardLocation.CLASS_OUTPUT, "", "META-INF/annotatedtypes/"+fileName);
PrintWriter out = new PrintWriter(new OutputStreamWriter(resource.openOutputStream()));
classes.forEach(out::println);
FileObject resource = processingEnv.getFiler()
.getResource(StandardLocation.CLASS_OUTPUT, "", "META-INF/annotatedtypes/"+fileName);
new BufferedReader(new InputStreamReader(resource.openInputStream())).lines().forEach(classes::add);
org.foo.bar.A
org.foo.bar.B
总之,在处理器中,您要执行以下操作
您每轮都读取该文件,但只在最后一轮写入一次。
我喜欢用于bean声明等的注释,但现在我们有这么多具有顺序的bean(@取决于)。很难维护或浏览配置。 是否有任何工具可以根据您的所有bean注释提供“有效的Spring配置”信息?
我的测试框架使用selenium的PageFactory和Lambok。我想编写一个方面来捕获测试流在运行时遇到的所有web元素。 一个典型的页面看起来像: @FindBy确定测试所处理的webelement。这样的页面有50页。 当使用PageFactory实例化页面时,将实例化webElement字段(使用与@FindBy中的值对应的webElement实例进行分配)。 我希望在实例化这些we
问题内容: 我有一个使用Node.js和Express构建的Web应用程序。现在,我想用适当的方法列出所有已注册的路由。 例如,如果我执行过 我想检索一个对象(或等效的东西),例如: 这可能吗?如果可以,怎么办? 更新: 同时,我创建了一个名为get-routes的npm软件包,该软件包从给定的应用程序中提取路由,从而解决了此问题。当前,仅支持Express 4.x,但我想现在可以了。仅供参考。
我有这个spring配置: 如何获取用Foo注释的所有bean的列表? 注意:
问题内容: 我有这段代码来获取我需要的所有元素并进行一些处理。问题是我需要指定每个面板以获取其中的元素。 我想做这样的事情,并且不需要指定所有面板名称就可以获取所有元素。我该怎么做。下面的代码无法获取所有元素。 问题答案: 您可以编写一个递归方法并在每个容器上递归: 该站点提供了一些示例代码: 如果只需要直接子组件的组件,则可以将递归深度限制为2。
问题内容: 有没有办法获取所有带有注释的Controller的列表?我想像这样使用它们: 谢谢! 问题答案: getBeansWithAnnotation() 如果您已使用控制器…对其进行注释: 然后