我有一个多模块maven项目。一个模块对maven项目中的其他模块有多个依赖关系。我想在运行时检查每个类来自哪个顶级模块 - 有没有办法用反射做到这一点?
例如:
com.company:running-module:jar:1.0.0
+- com.company:top-level-module-1:jar:1.0.0:compile
| \- com.company:low-level-module-1:jar:1.0.0:compile
| \- ClassOfInterest.java
+- com.company:top-level-module-2:jar:1.0.0:compile
| \- com.company:low-level-module-1:jar:1.0.0:compile
| \- ClassOfInterest.java
\- com.company:top-level-module-3:jar:1.0.0:compile
\- com.company:low-level-module-2:jar:1.0.0:compile
\- OtherClassOfInterest.java
检查ClassOfInterest
将返回top-level-module-1
和top-level-module-2
,同时检查OtherClassOfInterest
将返回`top-level-module-3。
答案 0 :(得分:0)
如果有办法做到这一点,那将是非常黑客的。
将每个模块修改为具有不同的顶级包,然后通过检查完整的类名称,您可以轻松地进行反射。