gpt4 book ai didi

java - JDK 合规性 - 虚假安全?

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:11 35 4
gpt4 key购买 nike

我安装了 Java 7,但将我的项目 JDK 合规性设置为 Java 6。不幸的是,这与使用 Java 6 编译不同。

例如接口(interface)javax.imageio.stream.ImageInputStream在 Java 7 中扩展 Closable 而在 Java 6 中不是这种情况。使用 ImageInputStream 在我的设置下编译正常 Closable 7 符合 Java 6),但在使用 Java 6 时会出现编译错误。应该是这样吗?

最佳答案

为了为旧的 JRE 编译 Java 代码,您需要做两件事:

  • 适当设置合规级别。正如 dystroy 所解释的那样,这确保了编译器生成旧 JVM 可以理解的字节码。
  • 使用旧的 Java 系统库。这可确保您针对旧 JRE 附带的 Java 系统库版本(java.lang.*、java.net.* 等)进行编译。

您已经涵盖了第一点,但没有涵盖第二点,因此您的问题。

如何执行此操作取决于您的构建环境。

  • 在 Eclipse 中,要使用的 Java 系统库被设置为构建路径的一部分:转到项目属性/Java 构建路径/库,然后删除错误的“JRE 系统库”并使用“添加库”添加正确的……”。
  • 当使用纯 javac 编译时,您使用选项 -bootclasspath。示例:javac -target 1.5 -bootclasspath jdk1.5.0/lib/rt.jar OldCode.java(来自 javac manpage,“交叉编译选项”部分)。

关于java - JDK 合规性 - 虚假安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12210665/

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