我意识到这还不是百分之百相关,但我对此很好奇。在JDK8中,javac参数"source“和"target”被废弃,并将在JDK9中删除。作为一名JavaME开发人员,我想知道如何才能将目标对准老平台。例如,在为Blu射线开发时,我使用了目标1.3。如果没有“目标”选项,当JDK9退出时,如何为Blu射线编译Xlet?我想肯定还有其他人(虽然我们不能同意),人们仍然需要瞄准老的设备。当JDK9退出时,我们该怎么办?
编辑:使用JDK9甚至可以达到目标1.3吗?
发布于 2016-09-24 00:33:17
要回答“如何在没有目标选项的情况下编译”的问题,新的-release标志是-source和-target更安全、更可靠的替代方法。有关更多详细信息,请参阅9月-247。您将使用-release对旧平台进行攻击,就像使用-source和-target一样。
“源和目标将在JDK9中删除”的语句是正确的,但不是完全正确的:-source和-target标志本身没有被移除,但是它们用于针对特定的旧版本的方法是不可取的。杰普-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编译器的理由就不多了。
发布于 2016-09-22 12:41:19
我不知道-source和-target在Java8中被废弃,在Java9中被删除--早期访问构建(至少9-b131)仍然有它们。你有消息来源吗?
我所知道的这个领域中唯一的变化是9月247,它引入了-release,这是另外两个方面的捷径。
https://stackoverflow.com/questions/39585855
复制相似问题