Hata: java: geçersiz kaynak sürümü: 8 Intellij. Bunun anlamı ne?


342

Im Intellij Ultimate 13.1.4 kullanıyorum bazı kod derlemeye çalışıyorum, ancak aşağıdaki hatayı alıyorum ve ne anlama geldiğine dair hiçbir fikrim yok:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

Benim tahminim Java 8 vs Java 7 ile ilgili bir şey, ama özellikle ne hakkında hiçbir fikrim yok. Bu mesaj için Google'da denedim, ancak ya hakkında konuşuyorlar , ya javacda target releasetam olarak geçerli görünmüyor.


2
Hangi Java sürümü yüklü? IDE ayarlarında hangi JRE / JDK'yı işaret ettiniz?
nanofarad

2
Muhtemelen proje ayarları. İşaret ettiğiniz JDK'yı ve istediğiniz dil seviyesini kontrol edin.
duffymo

1
@duffymo haklısın, o 8 işaret ediyordu. Bir ayar olduğunu fark etmedi.
David, Reinstate Monica'ya

Yanıtlar:


768

Bir projeyi Java 8'den Java 6'ya "düşürürken" aynı sorunu yaşadım.

IntelliJ 13.1.4'te bu hatayı almamak için aşağıdaki yerlerde Java ve SDK sürümünü değiştirmek zorunda kaldım:

  • Dosya -> Proje Yapısı -> Proje Ayarları
  • Dosya -> Proje Yapısı -> Modül Ayarları -> Sekme: Kaynaklar: Dil Düzeyi
  • Dosya -> Proje Yapısı -> Modül Ayarları -> Sekme: Bağımlılıklar: Modül SDK'sı
  • Dosya -> Ayarlar -> Derleyici -> Java Derleyici -> Hedef bayt kodu sürümü

Dosya> Proje Yapısı> Proje ekran görüntüsü

ekran görüntüsü Dosya> Proje Yapısı> Modüller> Kaynaklar

Dosya> Proje Yapısı> Modüller> Bağımlılıklar ekran görüntüsü

ekran görüntüsü Dosya> Ayarlar / Tercihler> Derleyici> Java Derleyici

Son mermi benim durumumda güncellenmemişti. Bunu değiştirdiğimde hata kayboldu.


31
beni öldürüyor kimse bu biriydi: File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Teşekkürler.
bitoiu

18
Ben de bu sorunu yaşıyordum, ama yukarıdakilerin hiçbiri işe yaramadı. Yapmam gereken IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, durumda herkes Gradle kullanarak iken bu sorunla çalışıyor.
Emil

2
Kaynak: Dil Seviyesi 7 olarak değiştirildi - IDEA 15 için Diamonds, ARM, multi-catch vb.
Mia

4
Bu kabul edilen cevap olmalı. Küçük bir kafa vuruşu olarak, IntelliJ IDEA 15'te 4. noktaya taşındı Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
17'de

Bazı çalıştırma / hata ayıklama yapılandırmalarında bir JRE seçimi de vardır. Örneğin, Tomcat çalıştırma / hata ayıklama yapılandırmalarında bu hataya neden olabilecek bir "JRE" seçici bulunur.
jordanpg

16

Sizin kontrol pom.xmlilk (eğer varsa)
kontrol edin modülün JDKdependancy. Bunun olduğundan emin olmak için Bunu yapmak için, Proje Yapısı -> SDK'nın Git'i depoladığınız yolu ekleyin 1.8 ( benim durumumda) Değişiklikleri uygulayın Şimdi, Proje Yapısı -> Modüller bölümüne gidin Değişiklikleri uygulamak için Modül SDK'sını değiştirin1.8

jdk1.8.0_45.jdk


1.8

İşte bu kadar! Sen bittin


6

Bu sorunları olan Gradle kullanıcıları için, yukarıdaki hiçbir şey sorunumu çözen şey bu değilse - build.gradle dosyalarınıza bu bildirimleri uygulayın:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

Sorun çözüldü!


5

Değişim pom.xml 1.6için1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

5

Ayarlanarak kolayca aşılabilir Project Structure. JDK'nın ilgili sürümü için doğru yolu seçmeniz yeterlidir. Seç newbağımlılıkları sekmesinde ve yolunu seçer. Bitti!

resim açıklamasını buraya girin



2

Andreas Lundgren'in cevabı işe yaradı ve uygulamamı derleyip çalıştırabildim.

Ancak, projenin ilişkili JUnit testlerini çalıştırmayı denediğimde aynı hatayı aldım. Koşu

gradle -version

Windows komut isteminden, gradle hala yanlış jdk alıyor olduğunu gösterdi. Bunu düzeltmek için JAVA_HOMEortam değişkenini doğru jdk'yi işaret edecek ve IntelliJ'i yeniden başlatacak şekilde ayarlamalıydım .


1

Yukarıda belirtilen tüm proje versiyonunu, modül versiyonunu, proje bayt kodu versiyonunu, hedef bayt kodu versiyon ayarlarını kontrol ettim IntelliJ Idea, ama hepsi çizdiğim ile aynıydı.

Bu hatayla Error:java: invalid source release: 1.8karşılaşıyorumIntelliJ Idea 2017.2.6 ben bağımlılık sürümü yükseltilmiş çünküMaven JDK 1.8 uygulaması için yapı gerekiyordu (bağımlılık) pom dosyası ve ben ve maven derleyici kaynak ve hedef JDK 1.7 ile başvurumu inşa ediyorlardı.

Bu yüzden bağımlılık versiyonunu Mavenpom'da daha önceki bir sürüme düşürdüm ve hata 'xyz_project' projesini yeniden oluşturduktan sonra hata gitti.


0

Grails kullanıcıları için BuildConfig.groovy dosyanıza şu bildirimleri uygulayın:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

0

Açık Modül Ayarları projesine tıklamanız ve JDK'nızın yolunu değiştirmeniz gerekir, POM dosyasında jdk 1.8 kullanıyorsanız, jdk 1.8'i doğru yolla yapılandırın.



0

Burada belirtilen tüm adımları denedim https://stackoverflow.com/a/26009627/2058104 , ancak 4. nokta artık değişti. Tercihler -> Derleme, Yürütme, Dağıtım -> Derleyici -> Java Derleyici'ye gitmeniz gerekir

Burada, aşağıdaki şekilde gösterildiği gibi, "Hedef bayt kodu sürümünü" değiştirmeniz gerekir. Her ne kadar, 8 olarak değiştirdim (Java 8'e indirmem gerektiğinden), aynı hatayı tekrar tekrar veriyordu. Bu nedenle, varolan girdiyi (bu tabloda) kaldırmayı ve yeniden eklemeyi deneyin. Bu benim için çalıştı.

resim açıklamasını buraya girin

Öte yandan, projeyi temizleyin ve tekrar çalıştırmayı deneyin.

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.