IntelliJ IDEA 13 używa Javy 1.5 mimo ustawienia na 1.7

Pomimo podania JDK 1.7 we wszystkich ustawieniach projektu (w tym w File -> Project Structure -> Project :: Project SDK), IntelliJ 13 podczas próby skompilowania prostego kodu Javy 7, który używa operatora diamond, pojawia się następujący błąd:

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

Czy jest jakieś inne miejsce w konfiguracji, w którym powinna być włączona oczekiwana opcja -source 7?

Author: PNS, 2014-01-09

10 answers

Jeśli nic z tego nie pomoże (mój przypadek), możesz ustawić go w swoim pom.xml, jak to:

<properties>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>
</properties>

Jak ten cool guy wspomniał tutaj: https://stackoverflow.com/a/25888116/1643465

 75
Author: Djordje Ivanovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:32

Proszę sprawdzić poziomy językowe projektu / modułu (struktura projektu / projekt; struktura projektu / Moduły | Nazwa modułu / Źródła). Możesz również rzucić okiem na Settings | Compiler / Java Compiler / Per-module bytecode version.

Ustaw także to:

File -> project Structure - > Modules:: Sources (obok ścieżek i Zależności) i który ma opcję "Language level", która również musi być ustawiona poprawnie.

 118
Author: Peter Gromov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-23 08:51:26

[dla IntelliJ IDEA 2016.2]

[[1]} chciałbym rozwinąć częśćodpowiedzi Petera Gromova z aktualnym zrzutem ekranu. Konkretnie ta konkretna część:

Możesz również rzucić okiem na Settings | Compiler / Java Compiler / Per-module bytecode version.

Uważam, że (przynajmniej w 2016.2): sprawdzanie różnych commitów w git resetuje je do 1.5.

Wersja bajtowa dla modułu

 16
Author: Birchlabs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:17

Alternatywnie, możesz zastosować maven-compiler-plugin z odpowiednią wersją Javy, dodając ją do swojego pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
 10
Author: OlgaMaciaszek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-29 20:11:06

Plik - > struktura projektu->ustawienia projektu->Projekt - > poziom języka projektu

Plik - > struktura projektu->ustawienia projektu->Moduły - > poziom języka

Zmień poziom używając rozwijanej listy

 6
Author: Ketan Keshri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-21 11:05:31

Próbowałem wprowadzić zmiany w Intellij IDEA jak poniżej:

1.

File >> Settings >> Build, Execution, Deployment >> Compiler >> Java Compiler >> project bytecode version: 1.8 >> Per-module bytecode version: 1.8

2.

File >> Project Structure >> Project Settings >> Project >> SDK : 1.8, Project Language : 8 - Lambdas
File >> Project Structure >> Project Settings >> Modules >> abc : Language level: 8 - Lambdas

Ale nic nie działało, przywróciło wersje do Javy 1.5, jak tylko ją zapisałem.

Jednakże, dodanie poniższych linii do głównego (poziomu projektu) pom.xml pomógł mi rozwiązać powyższy problem: (obie opcje działały dla mnie)

Wariant 1:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Opcja 2:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
 5
Author: Amit Kaneria,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-07 02:09:32

W wierszu poleceń(Terminal Unix) przejdź do folderu głównego projektu i wykonaj to

find . -type f -name '*.iml' -exec sed -i '' s/JDK_1_5/JDK_1_8/g {} +

Spowoduje to zmianę właściwości poziomu języka we wszystkich projektach .pliki iml z Javy 1.5 do Javy 1.8.

 3
Author: Saideep Sambaraju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-17 16:53:57

Najpierw musisz zmienić "wersję bajtową projektu" pod File > Settings, Compiler > Java Compiler

Po drugie, zrób pełną przebudowę.
 2
Author: Elliott Frisch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-08 20:51:22

Mam ten sam problem, ale z inną sytuacją. Mogę skompilować bez żadnego problemu z maven w wierszu poleceń (mvn clean install), ale w Intellij zawsze mam "java: diamond operator is not supported in -source 1.5" błąd kompilacji pomimo ustawiłem maven-compiler-plugin z java 1.8 W pom.xml.

Okazało się, że mam ustawione zdalne repozytorium w Ustawieniach mojego Mavena.xml, od którego zależy projekt, ale Intellij używa własnego Mavena, który nie ma tego samego ustawienia z moim lokalnym mavenem.

Więc moje rozwiązanie zmieniało Intellij ' s Maven setting (Settings -> Build, execution, Deployment -> Maven -> Maven home directory), aby używać Lokalnego Mavena.

 2
Author: jordom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-09 10:50:59

W IntelliJ 2017 pracowałam dla mnie w następującej nieruchomości

  <properties>
        <java.version>1.8</java.version>       
  </properties>
 0
Author: H.Rabiee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-19 12:10:26