我正在构建一个使用Spring 4.2.4的库,并且我计划将Spring与库捆绑在一起,以创建一个包含所有依赖项的自足jar,因为我的一些客户端不使用Maven。
但是,一些使用该库的客户端可能已经在其应用程序中使用了不同版本的Spring,其中一些版本与Spring 2.5一样久。在这种情况下,他们将排除捆绑版本的Spring。那我该如何处理功能兼容性问题呢?例如,Spring 4可以有多个PropertySources,早期版本不支持此功能。
答案 0 :(得分:0)
只有在您真正需要的时候,您才可以在库中捆绑所需的库并更改其包,以确保在您描述的情况下不会发生冲突或类加载器冲突。如果Maven是您的构建系统,您可以使用Shade plugin来完成此任务。这种方法在泽西岛2这样流行的库中采用,其中guava库类包含在具有修改包名的发行版中。