2017-05-16 3 views
1

Ich habe gerade angefangen, an einem Java-Projekt zu arbeiten, und habe den Quellcode von GitHub heruntergeladen, mit IntelliJ- Ich habe IntelliJ vorher noch nie benutzt, aber mir wurde gesagt, dass es ein viel bessere IDE als Eclipse zu verwenden (was ich benutzte, als ich vor etwa vier Jahren die letzte Java-Entwicklung gemacht habe).Java-Diamond-Typen werden auf dieser Sprachebene nicht unterstützt

Wenn ich versuche, die Quelle lokal auf meinem Computer zu bauen, die neueste Arbeitsversion von GitHub geschlürft, erhalte ich die Fehler einen Compiler-Fehler auf mehrere verschiedene Linien von code- sagt:

Error:(27, 34) java: diamond operator is not supported in -source 1.5 (use -source 7 or higher to enable diamond operator)

und die Linien, in denen diese kompilieren Fehler erscheinen, sind Zeilen wie:

return new ArrayList<>(0); 

Wenn ich die Linie, und tun Alt + Enter auf den Fehler aus, es zeigt eine Meldung besagt, dass ich kann

"Set language level to 7- Diamonds, ARM, Multi-cache, etc"

Allerdings, wenn ich diese Option auswählen, passiert nichts ...

In der pom.xml Datei gibt es die folgende xml:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.5.1</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <encoding>UTF-8</encoding> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-source-plugin</artifactId> 
    <version>${maven-source-plugin.version}</version> 
    <executions> 
     <execution> 
      <id>attach-sources</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Aber wenn ich diesen Fehler sah, kam ich über die Antwort an: Diamond type are not supported at this language level, die angezeigt, dass ich Maven1.7 oder höher verwenden sollte - und es scheint, dass das Projekt bereits Version 1.8 verwendet, so verstehe ich nicht, warum ich diesen Kompilierfehler bekomme ...

Anyon Hast du irgendwelche Vorschläge?

+0

Haben Sie die Projektstrukturoptionen von itellij idea überprüft? – barbakini

+0

Ich bin neu bei IntelliJ ... wie/wo überprüfe ich das? – someone2088

+0

Tritt das Problem in IntelliJ oder in der Befehlszeile auf? Probieren Sie die Befehlszeile aus, um mvn clean install auszuführen und zu sehen, was passiert. – phani

Antwort

2

Unter File->Project Structure (Ctrl +Alt + Umschalt +s) ein Abschnitt Project Settings und Project

Hier können Sie die Projektsprache Ebene gesetzt genannt ist. enter image description here

+0

Danke für Ihre Antwort. Ich habe gerade versucht, das auf 7 zu setzen, auf "Anwenden" und dann auf "OK" geklickt und dann versucht, das Projekt erneut zu erstellen, aber ich bekomme die gleichen Fehler in der Konsole: 'Fehler: (27, 34) java: diamond operator nicht unterstützt in -source 1.5 (benutze -source 7 oder höher, um den Diamant-Operator zu aktivieren) ' – someone2088

+0

Das Project SDK ist 1,8, falls das einen Unterschied macht ...? – someone2088

+0

Siehe http://stackoverflow.com/a/12900859/104891. – CrazyCoder

5

Fügen Sie den folgenden Code in Ihre pom.xml Datei.

<!-- maven-compiler-plugin --> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.7.0</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
+1

Warum funktioniert das? – grovina

Verwandte Themen