IntelliJ: Hata: java: hata: sürüm 5 desteklenmiyor


14

Ben kullanıyorum IntelliJ IDEA Ultimate 2019/03/01 . Ne zaman herhangi bir basit Java Maven projesini başlatmaya çalıştığınızda (hatta basit bir Hello World olabilir) aşağıdaki hatayı alıyorum:

Error:java: error: release version 5 not supported

Koşu java --versionterminali I tarafından şu çıktıyı almak:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)

Koşu javac --versionterminali I tarafından şu çıktıyı almak:

javac 11.0.5

Java Derleyici Ayarlarına gitmek ( burada önerildiği gibi ) şunu görüyorum:

Java Derleyici Ayarları

1.8 " Hedef bayt kodu sürümü " düzenlemeyi denedim ama aşağıdaki hataları alıyorum:

Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
  symbol: class Application
Error:(12, 23) java: cannot find symbol
  symbol:   class Stage
  location: class Main
Error:(7, 9) java: cannot find symbol
  symbol:   method launch(java.lang.String[])
  location: class Main
Error:(11, 5) java: method does not override or implement a method from a supertype

Sürüm 1.11 için değiştirme Bunun yerine bu hatayı alıyorum:

Error:java: Source option 5 is no longer supported. Use 6 or later.

Sorunun ne olduğunu düşünüyorsun? Nasıl çözebilirim?


Projenin ve modüllerin dil seviyesi nedir?
Bas Leijdekkers

Yanıtlar:


33

Bkz.  Https://stackoverflow.com/a/12900859/104891 .

Her şeyden önce, set language level/ release versionsde pom.xmlböyle:

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

Maven varsayılan değeri 1,5 olarak ayarlar. maven-compiler-pluginHenüz yapmadıysanız , şunları da eklemeniz gerekir :

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
</dependency>

Ayrıca, aşağıdaki yerlerin her birinde Java sürümünü değiştirmeyi deneyin:

Dosya -> Proje yapısı -> Proje -> Proje SDK'sı -> 11.

Dosya -> Proje yapısı -> Proje -> Proje dil seviyesi -> 11.

Dosya -> Proje yapısı -> Proje -> Modüller -> -> Kaynaklar -> 11

Projede -> ctrl+ alt+ s-> Derleme, Yürütme, Dağıtım -> Derleyici -> Java Derleyici -> Proje bayt kodu sürümü -> 11

Projede -> ctrl+ alt+ s-> Derleme, Yürütme, Dağıtım -> Derleyici -> Java Derleyici -> Modül -> 1.11.


2
Her şeyi yaptım, ancak uygulamayı çalıştırdığımda hala aynı hatayı görüyorum
Tushar Jajodia

@TusharJajodia maven-compiler-pluginbağımlılık olarak dahil etmeyi deneyin
Josh Johnson

Şanssız çevrimiçi çeşitli çözümleri denedikten sonra, bu özel hat sorunu çözdü: Dosya -> Proje yapısı -> Proje -> Modüller -> -> Kaynaklar -> 11
Maude

2

Gerçek bir çözümü bir araya getirmek için biraz zamanımı aldım, ama bu derleme hatasından nasıl kurtulacağımız aşağıda açıklanmıştır.

  1. Intelij tercihlerini aç
  2. "Derleyici (ya da" compi "gibi)
  3. Maven -> java derleyicisine ilerleyin. Sağ panelde, modüllerin listesi ve ilişkili java derleme sürümü "hedef bayt kodu sürümü" olacaktır.
  4. Bir sürüm seçin> 1.5. Kullanılabilir değilse jdk'nizi yükseltmeniz gerekebilir. resim açıklamasını buraya girin

1

Üst önyükleme öğesini üst öğe olarak kullanıyorsanız java.version özelliğini ayarlamanız gerekir, çünkü bu otomatik olarak doğru sürümleri ayarlayacaktır.

<properties>
   <java.version>11</java.version>
</properties>

Kendi projenizde tanımlanan özellik, ana pom'da ayarlanan her şeyi geçersiz kılar. Bu, doğru sürüme derlemek için gereken tüm özellikleri geçersiz kılar.

Bazı bilgileri burada bulabilirsiniz: https://www.baeldung.com/maven-java-version


Ayrıca şimdi Spring Boot'u öğrenmeye başlıyorum, bu yüzden bu bilgiler benim için gerçekten yararlı olabilir :) Lütfen daha ayrıntılı olarak açıklayabilir misiniz? (Bu özellikleri hangi dosyada değiştirmeliyim, tam olarak ne yazmalıyım ...?) Teşekkürler!
Robb1

1
Yayına biraz ekstra bilgi ekledim.
V Jansen

1

Eğer intellj kullanıyorsanız ayarı => derleyici var sürümü java geçerli sürümüne değiştirin


0

Bir sonraki kodu dosyama ekliyorum, pom.xmlsorunumu çözdü.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

Yalnızca eklemek zorunda iki satır sizin de pom.xml ve bundan sonra senin sorunun gitmiş olacak.
Bu iki satırı pom.xml'nize ekleyin -

<!--pom.xml-->
<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

IntelliJ içinde pom.xml dosyasını açın

Bu bölümü daha önce ekleyin (Dosyanızın zaten bir bölümü varsa, aşağıdaki bölümleri mevcut bölüme eklemeniz yeterlidir):

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

0

Benim durumumdaki tek çalışma çözümü şu bloğu eklemekti pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version> <configuration> <release>12</release>
        </configuration>
        </plugin>
    </plugins>
</build>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.