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裏的版本是否正確,不正確順便改掉,如:
插件