我有一个多模块 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。
最佳答案
如果有办法做到这一点,那就太hacky了。
修改每个模块以具有不同的顶级包,然后您可以通过检查完整的类名通过反射轻松地完成此操作。
关于java - 运行时识别模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516919/