首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未在使用org.reflections的JAR文件中找到Java批注

未在使用org.reflections的JAR文件中找到Java批注
EN

Stack Overflow用户
提问于 2013-08-16 00:50:39
回答 1查看 462关注 0票数 4

我正在使用org.reflections库来检测我的项目中注释的一些类。当我从eclipse运行该项目时,发现了带注释的类。

但是,当项目被打包到JAR文件中并运行时,将找不到带注释的类。

下面是一些示例代码:

代码语言:javascript
复制
@TestAnnotation
public class App {
    public static void main (String[] args) { 
        Reflections reflections = new Reflections("com.package"); 
        Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(TestAnnotation.class); 

        for (Class c : annotated) { 
            System.out.println ("found annotated class " + c.getName()); 
        } 
    }
}

当我在JAR文件中运行这段代码时,没有输出。我做错了什么?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-11-13 18:12:14

注意

代码语言:javascript
复制
Reflections reflections = new Reflections("com.package");

在这里,您将尝试浏览位于包中的带注释的类,该包嵌套在com包中。但是package是Java关键字。因此它不能用作包的名称。在我将AppTestAnnotation移到com包中之后,一切都很正常。

但也有可能你的情况真的很糟糕。可能是一些工具或某些人创建的具有名称的包(例如,使用西里尔字母а而不是拉丁语a,两者在编辑器中看起来是相同的,但它们在中完全不同)。当字母混合在一起时,一切看起来都很好,但却无法正常工作。因此,请尝试创建新的有效根包,并将您的类移入其中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18257526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档