關於Maven installed出現source 1.5 中不支援 diamond 運算子問題(請使用 -source 7 或更高版本以啟用 diamond 運算子)
阿新 • • 發佈:2018-12-06
當從svn上面更新一個模組程式碼時,在Maven installed時有時會出現下面的問題:
出現上面的原因多是因為多個人同時開發時,因為環境不一致導致的。
報錯中寫到 source 1.5 不支援 diamond運算子。diamond(鑽石)運算子是java 1.7 以上版本的新特性之一,其目的是為了增強對通用例項建立的型別判斷,簡化泛型類的例項化:
如java 1.7以下例項化必須將泛型類填寫完整:List<Integer> p = new ArrayList<Integer>();
而在java1.7中則可以省略泛型類:List<Integer> p = new ArrayList<>();
在1.7版本中通過diamond運算子<>從引用的宣告中推斷型別,從而簡化程式碼。
在Maven Installed中出現這個問題(在refresh專案或maven update也不起作用時)就需要去更改java的版本。更改java版本有兩種方式:
1.通過eclipse開發的,在模組/專案的properties->Project Facets中找到java 將後面的版本改到1.7以上。(注:這裡若是Jdk版本和java Compiler中jdk編譯版本是1.7以上,可能會出現更改版本異常的問題)。
2.右擊專案,選擇Maven->Update projects,更新專案,然後重新配置專案執行環境。
3.如果在pom.xml中配置maven編譯依賴的話,直接在pom中修改編譯環境:
<build> 02. <plugins> 03. 04. <plugin> 05. <groupId>org.apache.maven.plugins</groupId> 06. <artifactId>maven-compiler-plugin</artifactId> 07. <version>3.1</version> 08. <configuration> 09. <source>1.7</source> 10. <target>1.7</target> 11. <compilerId>eclipse</compilerId> 12. </configuration> 13. <dependencies> 14. <dependency> 15. <groupId>org.codehaus.plexus</groupId> 16. <artifactId>plexus-compiler-eclipse</artifactId> 17. <version>2.2</version> 18. </dependency> 19. </dependencies> 20. </plugin> 21. 22. <plugin> 23. <artifactId>maven-jar-plugin</artifactId> 24. <executions> 25. <execution> 26. <goals> 27. <goal>jar</goal> 28. </goals> 29. <phase>package</phase> 30. </execution> 31. </executions> 32. </plugin> 33. </plugins> 34. 35. 36. <extensions> 37. <extension> 38. <groupId>org.apache.maven.wagon</groupId> 39. <artifactId>wagon-ssh-external</artifactId> 40. <version>2.9</version> 41. </extension> 42. </extensions> 43. </build>