如何使用JDK9定位旧平台? (目标:1.3)

时间:2016-09-20 04:45:32

标签: java-me java-9 xlet blu-ray

我意识到这还不是100%相关,但我对此非常好奇。 在JDK8中,javac参数" source"和"目标"已弃用,将在JDK9中删除。 作为一名JavaME开发人员,我想知道如何能够以旧平台为目标。例如,我在开发Blu-ray时使用目标1.3。如果没有" target"当JDK9出局时,如何编译我的X-ray for Blu-ray。选项?我想也必须有其他人(虽然我们可以同意不多)人们仍然需要针对旧设备。当JDK9出局时我们该怎么办?

编辑:甚至可以用JDK9定位1.3吗?

2 个答案:

答案 0 :(得分:5)

要回答问题"如何在没有目标选项"的情况下进行编译,新的-release标志是-source和-target的更安全,更可靠的替代方案。有关详细信息,请参阅JEP-247。您将使用与-source和-target相同的方式使用-release定位旧平台。

声明"源和目标将在JDK9"中删除。是真的但不完全:-source和-target标志本身不会被删除,但不推荐使用它们来定位特定的旧版本。从JEP-182:"在JDK 9中,将删除对1.5或更早版本的源或目标的支持。"

回答问题"甚至可以用JDK9定位1.3?"答案是关于-release标志,JDK9不会编译到目标1.3。

来自javac -help:

--release <release>
      Compile for a specific VM version. Supported targets: 6, 7, 8, 9

您最好的选择是使用旧版本的JDK进行编译。如果您需要以1.3为目标,那么无论如何都没有太多理由使用Java 9编译器。

答案 1 :(得分:1)

我不知道在Java 8中已弃用-source-target并在Java 9中删除 - 早期访问版本(至少9-b131)仍然具有它们。你有这个来源吗?

我所知道的那个区域的唯一变化是JEP 247,它引入了-release,这是另外两个的捷径。