【发布时间】:2019-10-11 03:53:02
【问题描述】:
我的 PC 上安装了 JDK 7 和 8。
我尝试将JAVA_HOME 设置为 JDK 8,在 maven pom 文件中,我设置为 1.7,如下所示:
<properties>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.7</maven.compiler.source>
</properties>
我在 maven 构建期间收到以下错误:
incomparable types: boolean and java.lang.Object
源码为:
Map mapData = (LinkedHashMap)it.next();
if(true == mapData.get("isTrueOrFalse")){ // java 8 doesn't allow this, it have to be [true == (boolean)mapData.get("isTrueOrFalse")]
xxx
}
我无法更改源代码,所以我将我的JAVA_HOME 更改为 JDK 7 并且 maven pom 保持为 1.7。然后我可以通过 Maven 成功构建。
我的理解是,通过设置源和目标,它应该允许我编译到较低兼容的 Java 版本,但事实并非如此。谁能帮忙解释一下?
【问题讨论】: