java - 运行时识别模块

标签 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
 |     \- 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-1top-level-module-2,而检查 OtherClassOfInterest 将返回 `top-level-module-3。

最佳答案

如果有办法做到这一点,那就太hacky了。

修改每个模块以具有不同的顶级包,然后您可以通过检查完整的类名通过反射轻松地完成此操作。

关于java - 运行时识别模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516919/

相关文章:

java - JSF - 重定向到页面并记住参数 ID 以进行搜索

Java 日志记录线程阻塞

eclipse - Eclipse 中用于 Maven 包命令的键绑定(bind)

java - 使用 Eclipse Kepler 的 maven-archetype-webapp 目录结构

java - Jetty服务器无法返回json

java - 在 x64 Windows 上使用 x32 JDK 在 x64 Eclipse 上针对 x32 服务器进行编译

java - 包含TextView的ScrollView不滚动

java - 如何让用户三次尝试输入正确的密码?

java - 如何使用 Maven 运行多个 Jetty 实例

java - 为什么 “gradle dependencies”不显示所有依赖项?