如果使用的目标级别低于源级别,Java编译器是否工作良好?例如:
javac -source 1.7 -target 1.6
如果您的编译器代码使用Java1.7,那么代码将无法在Java1.6下运行,如果您这样做,您将收到一个不受支持的Major.Minor版本。
更新:见自我回答。问题似乎与Maven导入有关,或者导入后模块设置的某种损坏有关。 我有一个非常大的多模块Maven IntelliJ项目,有3个独立的根。 我正在建设整个项目准备promise。 我从IntelliJ 2017.2.3 Ultimate得到以下错误: 所有的代码都不能用Java5编译,都是Java8。 这是什么原因造成的?这是Intellij的已知bug吗? 如何找出项目中大约1
我需要在命令行上编译一个Java程序,我正在尝试将编译器级别设置为更低的(1.6)。我试过这样但没有用:
高级编译 常规构建过程使用Google的在线JavaScript编译器将Blockly减少到六个文件,总计约720kb(压缩后的160kb)。 另外,也可以在“高级编译”模式下使用Google的离线JavaScript编译器,它具有许多优点: 由于文件结构改变,总块大小减少到300kb(压缩了100kb) 由于本地编译器的执行,构建时间更快且没有网络流量 无限编译(在线编译器受速率限制) 设置 出
注意:这不是重复的。这个版本的spark需要jdk 1.7或1.8。父pom。xml条目如下所示: 如截图所示,我们有SDK和语言级别的java 1.8: 以下是模块设置: 但是Intellij只是对此感到困惑: 错误:(73,51)java:源代码1.5中不支持菱形运算符(使用源代码7或更高版本启用菱形运算符) 这是一个spark项目,由maven在OS/X上构建。Intellij Ultima
要将目标SDK更改为28,我在build.gradle中执行了以下操作: } 但在Android Studio IDE中,它显示行错误: 和描述: 如果我注释这一行,下一行有“28.0.0”将有相同的错误。所以看起来没有一个带有“28.0.0”的词是有效的。 我做错了什么? 不是 谢谢, 肖恩
问题内容: 我有一个为jdk 7构建的项目,但我也想扩展其对jdk 6用户的兼容性。我已经将编译器的编译级别设置为1.6,但是该项目正常编译,并且由于方法revalidate直到Java 7才添加到Java中,因此该项目无法在1.6 jre上运行。(并且编译器未发出任何警告关于这一切!)如何将源代码级别也设置为1.6?我可以在netbeans中做到这一点,在eclipse中如何做到这一点呢? 问题