![](/img/trans.png)
[英]compile java source 1.7 for 1.6 with Maven and Netbeans
[英]Unable to compile using Java 1.7 in Jetbrains Intellij after moving from 1.6 to 1.7 (maven based project)
使用基于Maven项目的Jetbrains 11.2项目。 然后我需要移动到1.7。 我安装了1.7,我更新了我的pom.xml,我可以使用maven重建整个包。
我已经修改了我在Intelli Projects设置中可以看到的有关Java版本的每个设置
但我不能让它编译它抱怨的文件:
Error:javac target release of 1.6 conflicts with source release 1.7
然后,我尝试使用相同的代码库,但使用不同的Intellij项目,在我的另一台开发机器上,我得到了类似的错误:
Error:javac: source release 1.7 requires target release 1.7
我无法看到任何其他改变,以使这项工作。
Doh,找到了它
文件/设置/ Java编译器/附加命令行参数
从-target 1.6更改为-target 1.7
虽然它与其他相关选项断开连接,但看起来很奇怪。
作为替代解决方案,对我有用的是在模块设置中检查语言级别属性。 它被设置为8.0 Lambdas
并6.0 @Overrides in interfaces
更改为6.0 @Overrides in interfaces
,之后编译工作没有错误。
您可以在此处更改编译器版本:
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
现在将Target bytecode version
更改为所需的Target bytecode version
。
您可以在此处更改编译器版本:
Intellij IDEA -> Preferences -> Compiler -> Java Compiler
-> Project bytecode version -> 1.7 (for example)
对于IntelliJ 12,我通过打开File:Project Structure并将Project SDK更新为1.7并将Project语言级别更新为“7.0 - Diamonds,ARM,multi-catch等”来解决此问题。
如果您没有使用JDK 1.7配置IntelliJ,请使用“新建”按钮添加它。 选择“JDK”类型。
另一个可能的解决方法是确保您的构建文件具有硬编码的版本,如此处所示
<javac target="1.7" source="1.7" ... />
而不是
<property name="java.version" value="1.7" />
<javac target="${java.version}" source="${java.version}" ... />
虽然这可能是由于我误解了变量在构建文件中的工作原理。 你会认为这会有意义
我遇到了同样的问题。 我通过Intellij IDEA - >首选项 - >编译器 - > Java编译器 - >项目字节码版本 - > 1.7&目标字节码版本 - > 1.7解决了它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.