编译依赖版本和运行时依赖版本可以不同吗?

问题描述

注意:我是在谈论Java应用程序,特别是针对Apache Axis库的

编译依赖版本和运行时依赖版本可以不同吗?

比方说,您正在开发应用程序。并且此应用程序使用了一些第三方库。就我而言,使用Apache Axis库。 当第三方库说:编译依赖项需要jar的NewVersion。 我是否可以推断出,即使在运行时,我的应用程序服务器也应提供同一jar的versionA?

我可以推断出,由于在编译时正在使用NewVersion,因此应根据该版本修改我的应用程序代码吗? (因此,如果应用程序服务器部署了同一个jar的OldVersion,我不能神奇地认为我的应用程序仍然可以正常工作。)

如果有人感兴趣,请查看Apache Synapse的此页面-https://synapse.apache.org/dependency-management.html

它说,它需要许多jar的Apache Axis2版本为1.7.7。 现在,我们的应用程序是在1.6.2下编写的。 那么,由于基本前提是升级到Apache Synapse 3.0.1会带来Apache Axis2的整个家族堆栈,我是否应该按照1.7.7的方式更新代码

  1. 在理论/实践上,是否可以使用版本A的第三方库来编译我们的应用程序,并使用版本B的相同第三方库来运行我们的应用程序?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)