Dependency Mediator- 轻量级兼容性依赖仲裁组件
Java 常用工具包
共0Star
详细介绍
Dependency Mediator,与Karaf 和其他轻量级模块化技术(类似 osgi,类名不需要是唯一的,但是类名组合和他们定义的
ClassLoader 必须是唯一的)不同, D ependency Mediator 尝试在编译期诊断组件依赖冲突问题,而不是使用自定义的
ClassLoader 来保持不同版本组件的一致性,因此可以有效避免一些臭名昭著的运行期兼容性错误,例如
NoSuchMethodError,NoSuchFieldError 和 NoClassDefFoundError 等等。
特性
-
兼容 Maven 3.x.x 插件可编程模块
-
兼容 JDK 6+
-
支持直接扫描,包括 classpath
-
支持组件扫描,包括 jar,war,ear,sar 等等
-
支持冲突类扫描,冲突意味着相同的完全限定类名,而不是相同的数据或者不兼容的类(details see jls and class compatibility)
使用
Output component reactor info......
Conflicting component [com.alibaba.rocketmq.storm.MessageConsumerManager] was founded in the path :
/home/von/workspace/rocketmq-storm/dd/rocketmq-storm-1.0.0-SNAPSHOT-11/com/alibaba/rocketmq/storm/MessageConsumerManager.class
/home/von/workspace/rocketmq-storm/dd/rocketmq-storm-1.0.0-SNAPSHOT.jar:com/alibaba/rocketmq/storm/MessageConsumerManager.class
Conflicting component [com.alibaba.rocketmq.storm.MessageConsumer] was founded in the path :
/home/von/workspace/rocketmq-storm/dd/rocketmq-storm-1.0.0-SNAPSHOT-11/com/alibaba/rocketmq/storm/MessageConsumer.class
/home/von/workspace/rocketmq-storm/dd/rocketmq-storm-1.0.0-SNAPSHOT/com/alibaba/rocketmq/storm/MessageConsumer.class