排除具有动态类加载的类

时间:2016-05-03 08:32:51

标签: java spring maven dependency-management dynamic-class-loaders

我正在尝试构建一个中型Java项目,以使其保持模块化和可扩展性。为此,主体系结构只负责在运行时加载jar(模块)中提供的一些类。这个解决方案显然需要动态类加载,但它会将组件的耦合减少到最小。

现在,问题来了。每个模块都可能依赖于某些库(例如Hibernate,Spring ......)。为了避免依赖地狱,我将所有库与架构接口一起放在一个项目中,并将此项目作为所有模块的依赖项。理想情况下,我想将这个依赖项目从类加载中排除,以避免运行时出现问题。

这是我的问题:

  • 首先,这是一个好主意吗?我会错过这个问题的更好方法吗?
  • 这是我应该关注的吗?或者我不止一次包括相同类的事实不会成为问题吗?
  • 如果这是一个问题,那么从加载中排除这些类的最佳方法是什么?我想用包过滤它们但是我不确定。

我仍然不确定是否采用这种架构,或者使用Maven静态构建除了每个模块上的依赖项目之外的完整项目。

非常感谢任何有关如何进行的建议。

目前我正在使用Maven构建和Spring作为框架,但我不介意添加其他技术。

谢谢。

0 个答案:

没有答案