1. 程式人生 > >關於Maven installed出現source 1.5 中不支援 diamond 運算子問題(請使用 -source 7 或更高版本以啟用 diamond 運算子)

關於Maven installed出現source 1.5 中不支援 diamond 運算子問題(請使用 -source 7 或更高版本以啟用 diamond 運算子)

當從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>