java – 是否有实际的推理来强制构建JDK版本?
存在
maven enforcer plugin可以强制构建仅在特定JDK版本上运行.
我想知道是否有任何实际的推理? compileJava { sourceCompatibility = '1.8' targetCompatibility = '1.8' } 这就是它在maven中的样子: <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> 如果你有任何理由需要精确的jdk版本 – 请你写下来. UPD. 解决方法
这样做的主要原因可能是在较新的JDK的编译器中进行了一些更好的优化.因此,即使目标字节码级别与旧编译器相同,目标字节码本身也可能会得到改进.
According to Brian Goetz,这拉动了它的重量:
编辑:对不起!引用的推文是关于使用低于目标的源进行编译(例如-source 8 -target 11),因此它与OP所询问的不同.尽管如此,即使目标保持不变,也许较新的编译器可以产生更好的字节码. PS.正如Basil所告知的那样,让我提一下JDK 9的javac (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |