gpt4 book ai didi

java - 使用类路径上使用 JDK 8 构建的类来编译面向 1.7 的 Java 类

转载 作者:行者123 更新时间:2023-11-30 03:27:39 24 4
gpt4 key购买 nike

我有以下情况:

Foo 类引用 Bar 类中的方法。我想使用针对 Java 1.7 的 javac 编译 Foo 类,但在使用 Java 8 语法并使用 JDK 8 编译的类路径上提供 Bar.class 二进制文件。在生产中,JRE 1.7 将用于运行我的应用程序类路径上 Bar.class 的不同副本 - 此版本的 Bar 类使用 Java 1.7 语法并使用 JDK 7 构建。

  1. 假设 Bar 的方法签名保持完全相同,编译和运行 Foo 会出现任何问题吗?
  2. 我可以使用 JDK 7 编译 Foo 还是必须使用 JDK 8?

最佳答案

对于直接 javac,您可以使用 -source/-target 让 Java8 JDK 构建 Java7 类文件(这实际上只是意味着在类文件中放置不同的版本号)。

我的构建使用 Maven,当我的 Jenkins 服务器使用 Java8 构建时,指定的源/目标是 1.7,每个人都可以使用现有的 Java7 JDK 运行。当第一个依赖项目迁移到Java8时,Maven POM更改为构建1.8目标,每个人都被迫升级。

关于java - 使用类路径上使用 JDK 8 构建的类来编译面向 1.7 的 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com