一个 jar 正在使用 JVM 8 运行,它是使用 java 6 编译的。 这个 jar 可以加载另一个 jar 作为用 java 8 编译的“库”/插件吗? 依赖第一个 jar?
最佳答案
当然可以。您可以混合针对不同 Java 版本编译的 jar。
另请注意,在谈论所使用的 Java 版本时,有一些事情。一种是您编译代码所依据的 Java 类库。这定义了您可以在代码中使用的 API。
第二件事是java字节码版本。您可以指示 Java 8 将代码编译为与 Java 6 二进制兼容。但这并不意味着您的代码将针对 Java 6 执行。如果您使用 Java 7 或 8 中添加的调用/类,那么您将在运行时遇到问题。
这两个是谈论 Java 兼容性时最重要的方面。 Google 搜索 Java 兼容性或 Java 源代码与二进制兼容性,以获取有关该主题的更多信息。
关于java - 关于 VM/Jar 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25606728/