是否保证同一 jar 的不同版本具有相同的功能?
Is the same functionality guaranteed across the different vesions of the same jar?
我正在用 Maven 重建一个旧的 java-ee 应用程序。它具有非常旧的依赖项,这些依赖项具有较新的版本。如果我包含较新的 deps,该项目确实可以编译,但是我会遇到有关功能的问题吗?
例如 javax.ejb,该项目有这个 dep 并检查我发现它最后一次修改是在 2001 年。如果我包括这个 dep maven dependency link 我知道它已经更新了,我会有相同的功能吗?换句话说:尽管应用程序使用较新的依赖版本进行编译,但应用程序的行为是否会发生变化?
编辑:
这只是一个例子,该项目有更多的部门:org.apache.axis
谢谢
不,您不能确定功能是否相同。 Interfaces 和 类 可能命名相同,但在运行时你不知道会发生什么。图书馆试图保持向后兼容,但您必须阅读每个过去版本的发行说明才能确定。即便如此,一些小事可能还没有包含在笔记中。最好的办法是追踪原始依赖项。
话虽这么说,如果构建成功,你不妨试试运行!
我正在用 Maven 重建一个旧的 java-ee 应用程序。它具有非常旧的依赖项,这些依赖项具有较新的版本。如果我包含较新的 deps,该项目确实可以编译,但是我会遇到有关功能的问题吗?
例如 javax.ejb,该项目有这个 dep 并检查我发现它最后一次修改是在 2001 年。如果我包括这个 dep maven dependency link 我知道它已经更新了,我会有相同的功能吗?换句话说:尽管应用程序使用较新的依赖版本进行编译,但应用程序的行为是否会发生变化?
编辑: 这只是一个例子,该项目有更多的部门:org.apache.axis
谢谢
不,您不能确定功能是否相同。 Interfaces 和 类 可能命名相同,但在运行时你不知道会发生什么。图书馆试图保持向后兼容,但您必须阅读每个过去版本的发行说明才能确定。即便如此,一些小事可能还没有包含在笔记中。最好的办法是追踪原始依赖项。
话虽这么说,如果构建成功,你不妨试试运行!