关于 JAR 依赖关系的 Java 问题



我有一个项目,它的主要部分(例如main.jar)依赖于库(例如u1.jar,u2.jar等),这些库是作为不同的独立项目创建的。
因此,可以在其他地方重用库,即实用程序库和主要部分之间没有依赖关系。
当然,主要部分依赖于库,但这没关系。
现在,我需要在其中一个库中添加特定功能。
所需的功能已经实现。
它是通过 spring bean 实现的,用户可以配置实现在运行时的行为方式。
Spring 应用程序上下文通过主项目创建和使用,因此我无法访问 spring 上下文从实用程序库中。
问题是我想重用这个实现(而不是复制代码),并且不可能将该部分移动到其他地方
我想到的是在这个特定的 util jar 中创建一个依赖项来引用主.jar。
我将这样做,以便能够从实用程序罐访问弹簧上下文。
我担心的是,现在,我在main.jar和util.jar之间有一个循环依赖。
即main.jar已经依赖于util.jar现在我也将创建一个反向依赖关系。
这样做是个好主意吗?还是我遇到了麻烦(类加载问题等)?
对于这类问题,有没有很好的方法?

谢谢

创建一个接口并让 util.jar 使用 main 的接口.jar传递简单地包装此上下文的实现?

循环依赖看起来像一场噩梦。您将首先构建哪一个?

一旦你看到你有循环依赖,你就知道你在设计中出了问题。你有没有想过是否可以应用观察者模式?或者尝试阅读这篇关于非循环关系的文章

最新更新