Spring 在一个框架内。如何避免将我的框架依赖强加给用户?
Spring within a framework. How to avoid imposing my framework dependencies on users?
我开发了一个 OSS 框架 (Podam),我正在使用 Spring 来实现一些功能。一些用户抱怨我的框架在他们的代码中引入了 Spring 依赖项。我如何在 Maven 中避免这种情况,以便我的框架正常工作而不强迫用户使用我的依赖项 "live"?例如,我的框架依赖于 Spring 4.1.6,而用户依赖于 Spring 3。这两个 Spring 版本之间可能存在一些冲突。
Podam pom 可以在这里找到:
您可以尝试使用 maven shade 插件重新打包 Spring 并重新定位包,但您成功的机会很小,除非您将部分重写 Spring(参见 Spring with maven-shade-plugin) .
作为框架的作者,您通常会在将用户锁定到某个库(或至少某个版本)或根本不使用该库之间做出选择。
那是 Java 类加载。
我决定从我的框架中删除 Spring 并让用户自由实施他们想要的东西
我开发了一个 OSS 框架 (Podam),我正在使用 Spring 来实现一些功能。一些用户抱怨我的框架在他们的代码中引入了 Spring 依赖项。我如何在 Maven 中避免这种情况,以便我的框架正常工作而不强迫用户使用我的依赖项 "live"?例如,我的框架依赖于 Spring 4.1.6,而用户依赖于 Spring 3。这两个 Spring 版本之间可能存在一些冲突。
Podam pom 可以在这里找到:
您可以尝试使用 maven shade 插件重新打包 Spring 并重新定位包,但您成功的机会很小,除非您将部分重写 Spring(参见 Spring with maven-shade-plugin) .
作为框架的作者,您通常会在将用户锁定到某个库(或至少某个版本)或根本不使用该库之间做出选择。
那是 Java 类加载。
我决定从我的框架中删除 Spring 并让用户自由实施他们想要的东西