java - 当我们的 jar 附带的类被添加到 Java 标准库时会发生什么?

标签 java time compatibility java-8 jsr310

我目前正在考虑将 JSR-310 的一小部分 javax.time.Duration 添加到我们的库中。

这目前工作得很好。

但 JSR-310 计划集成到 Java 8 中!在 Java 8 上执行我们的应用程序时,如果标准库中既有 javax.time.Duration 类又与我们的 jar 文件一起提供了相同的类,会发生什么情况?

其中一个类会被默默地忽略吗? (哪一个?) 当 Java 8 虚拟机尝试从我们的库中加载类时会出现错误吗?

是否有任何我需要注意的兼容性问题?

最佳答案

JVM 遵循类路径来确定加载哪个类。如果不止一个,后面的类将被忽略。

对于包含在 JVM 本身中的类,这些是在类路径之前搜索的引导类路径的一部分。

除非 API 发生重大变化,否则您不会注意到其中的差异,并且 Java 8 会有效地忽略您额外的 JAR。

关于java - 当我们的 jar 附带的类被添加到 Java 标准库时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280533/

相关文章:

java - EnumSet 的不可变版本

java - 移除或删除现有 Websphere Application Server 的配置文件

hadoop - 如何在Hive中将列设为有效时间数据类型?

java - 有谁知道将根据时间间隔处理数据的库?

c++ - C POSIX API 是否与 C++ STL 兼容

c++ - 如何在 GCC 中启用反斜杠支持?

java - PDI "Google Spreadsheet Input/Output"插件与 Google Sheets API v4 兼容吗?

java - USACO 培训 – 文本提交给我一个错误 : "Error:_Main_method_not_found_in_class_test"

java - 从java中的各个位构造一个字节

java - java中的无限时间值?