【问题标题】:Finding annotated methods in application code from maven integration test从 Maven 集成测试中查找应用程序代码中的注释方法
【发布时间】:2017-07-22 01:37:14
【问题描述】:

我的程序中有一个自定义注释应用于方法。我想找到所有带有特定注释的方法。从我的应用程序代码中,我可以使用 Reflections 包来执行此操作:

new Reflections(
    new ConfigurationBuilder().setUrls(
        ClasspathHelper.forPackage("com.my.package")
    ).setScanners(new MethodAnnotationsScanner())
    ).getMethodsAnnotatedWith(MyAnnotation.class);

但是,当我尝试从通过 failsafe 调用的集成测试中执行相同操作以在应用程序(而不是测试)中查找带注释的方法时,找不到任何方法。如何从集成测试中获取带注释的方法?

【问题讨论】:

  • @Code-Apprentice 从您的角度来看缺少什么?
  • 您应该提供您所描述的英文代码。
  • @Code-Apprentice 我确实提供了代码。我不清楚缺少什么。
  • 您提供的代码不完整。请阅读我上面给出的链接。

标签: java reflection maven-failsafe-plugin


【解决方案1】:

我必须改变两件事才能让事情正常工作:

  1. 我使用的是 0.9.9-RC1 版本。我不小心在https://code.google.com/archive/p/reflections/ 发现了Reflections,它列出了0.9.9-RC1 为最新版本,并没有注意到提到该项目已转移到GitHub 的小字。我认为 0.9.9-RC1 是最新版本,但事实并非如此。截至撰写本文时,最新的是 0.9.11。
  2. 我将Reflections 实例化如下:

    new Reflections("com.my.package", new MethodAnnotationsScanner());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 2019-09-05
    • 2022-07-08
    • 1970-01-01
    • 2016-04-18
    相关资源
    最近更新 更多