IntelliJ IDEA里面Maven插件,若是pom.xml里面没有设置编译版本,便采用默认的1.5版本,即使安装的JDK是jdk1.七、jdk1.8也是采用1.5版本进行编译。
这样,编译时idea就会报以下警告:
Warning:java: source value 1.5 is obsolete and will be removed in a future release
或
Warning:java: 源值1.5已过期, 将在将来全部发行版中删除
以下图:
java
若是源代码里有接口的实现类且实现的方法上面有@Override注解时,就会直接提示如下错误:
@Override is not allowed when implementing interface method
以下图:
apache
因为是Maven没指定编译版本引发的,因此先在pom.xml指定编译版本,添加以下内容指定编译版本(通常状况下版本和所用jdk版本保持一致,如我这里是1.8):maven
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
或者ide
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
通常状况下,在pom.xml指定版本以后,Maven会自动更改以前设置编译版本。若是不自动更改,可经过从新导入Maven或者手动修改设置编译版本的地方。工具
经过idea右侧的Maven projects,而后点击工具条上的Reimport All Maven Projects按钮,以下图
或者在项目或pom.xml文件上右键,点击Maven–>reimport,以下图
ui
一、点击File–>settings或者快捷键Ctrl+Alt+S打开settings设置面板,搜索java compiler或者依次点击Build…–>Compiler–>java compiler,把右侧里面的target bytecode version改成你须要的版本
idea
通常状况下,上面project bytecode version不对的话我也会顺便改掉。spa
二、点击File–>project structure或者Ctrl+Alt+Shift+S打开project structure面板,点击modules,将右侧的language level也设置为一样的版本。以下图:
.net
我也会顺便看一下project里的版本是否正确,不正确顺便改掉,如:
插件