Java 在运行时识别模块
我有一个多模块maven项目。在maven项目中,一个模块与其他模块有几个依赖关系。我想检查每个类在运行时来自哪个顶级模块——有没有任何方法可以通过反射实现这一点 例如:Java 在运行时识别模块,java,maven,Java,Maven,我有一个多模块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 | \- ClassOfI
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
检查
classeofinterest
将返回top-level-module-1
和top-level-module-2
,而检查其他感兴趣的classeofinterest
将返回` top-level-module-3。如果有办法的话,那将非常麻烦
修改每个模块,使其具有不同的顶级包,然后通过检查完整的类名,您可以轻松地使用反射来完成此操作。如果有方法可以做到这一点,那将非常困难
修改每个模块,使其具有不同的顶级包,然后通过检查完整的类名,您可以轻松地使用反射来完成此操作。为什么需要此信息?你想解决什么样的问题?为什么需要这些信息?你想解决什么样的问题?