info.java?

m1m5dgzv  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(167)

在一个maven项目中,我创建了一个简单的单元测试,它加载给定根包中的所有类,对它们进行迭代,并处理它们的包的一些信息(即是否为给定包提供了特定的注解)。
给定以下文件:

/src/main/com/andy/Foo.java
/src/main/com/andy/package-info.java
/src/main/com/andy/inner/Bar.java

src/test/com/andy/inner/SomeTest.java
src/test/com/andy/inner/package-info.java

当我加载 Class<?> 为了 Bar.java ,并尝试获取其包的注解(使用 Class#getPackage 方法),使我惊讶的是,我发现包以某种方式共享了 src/test 目录,其中 package-info.java 躺在table旁边 SomeTest.java 文件(否则包是相同的)。
我还发现它的工作方式也是相反的,也就是说,一节课没有 package-info.javasrc/test 似乎有一个共同点 package-info.java 从同一个包裹下 src/main 目录。
这是特定于maven项目的,还是一种常规的java行为?有没有办法不从另一个目录加载相关的包?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题