Hata: java: javacTask: kaynak sürümü 8, hedef sürümü 1.8 gerektirir


Yanıtlar:


1911
  1. Dosya> Ayarlar> Derleme, Yürütme, Dağıtım> Derleyici> Java Derleyici
  2. Değişim Hedef versiyonunu baytkoduna için 1.8 için çalıştıklarını modülün.

Maven kullanıyorsanız

Derleyici eklentisini pom.xmlüst düzey projectdüğümün altına ekleyin :

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

(Yorumlardan çekildi.)

Not: Projenizi yeniden içe aktarmanın bir sakıncası yoksa, yapmanız gereken tek şey pom'u değiştirmek ve projeyi yeniden içe aktarmaktır, o zaman IntelliJ doğru ayarları seçer ve bunları manuel olarak değiştirmeniz gerekmez.


IntelliJ 14 Ultimate'da çalışır.
DtechNet

Eski IDEA sürümlerinde şunları deneyin: Ayarlar -> Derleyici -> Java Derleyici -> Modül başına bayt kodu sürümü
Jonik

88
Mac kullanıyorsanız Intellij IDEA> Tercihler ...> Derleme, Yürütme, Dağıtım> Java Derleyici
JP Armstrong

4
IntelliJ yeni den 2016,2 için, kontrol ederek doğru daha yer var: Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK.
Bruce Sun

1
İkiden fazla seviyeye sahip bir POM hiyerarşiniz varsa ve derleyici eklentiniz üst POM'da tanımlandığında, IntelliJ bunu en derin düzeyde tanımayabilir. Diyelim ki hayır, çünkü diğer bazı modüller için, aynı ana POM'u uzattıklarında bile yapar.
Dormouse

202

Ayarlar'a gitmeniz ve Java derleyicisi altında aşağıdakileri ayarlamanız gerekir: resim açıklamasını buraya girin

ayrıca Proje Ayarlarını kontrol edin


116

Bu, derleyici eklentisi doğru yapılandırılmadığında Maven'in oluşturduğu hata türüne benziyor. Java 8 derleyici yapılandırmasına bir örnek.

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>

10
Benim gibi diğer Maven başlayanlar için, bu altında olmalıdır project, buildve sonra plugins.
Darren Hale

4
Ayrıca <source>1.8</source>ve <target>1.8</target>yapılandırılırsa, yukarıdaki hata oluşabilir.
BuZZ-dEE

1
Bu benim için çalıştı, teşekkürler! Sürüm etiketi çözülmedi (Maven sürümümle eşleşecek şekilde değiştirdim), bu yüzden yorum yaptım. Maven'in bu durumda otomatik olarak doğru son sürümü getirmesi gerektiğine inanıyorum: stackoverflow.com/questions/17239394/… .
Boris

84

Bulduğum en hızlı yol:

  • basın: CTRL+ SHIFT+ A(Mac + SHIFT+ için A)
  • yazın: java compiler
  • basın: ENTER

Ayarlar penceresinde Hedef bayt kodunu 1.8 olarak ayarlayın

(veya java9 için 9 )


3
(! Teşekkürler) Bu kesinlikle benim için çalıştı ama bu vb pom.xml, modül ayarlarında, içinde ne farklıdır neden anlamıyorum ...
Adam Lehenbauer

1
tercih almak için ⌘ tuşuna basın.
X. Wang

31

Bu sorunu çözmenin iki yolu vardır:

  1. Ayarları yapın (File -> Settings -> Build, Execution, Deployment -> Java Compiler): resim açıklamasını buraya girin
  2. Aşağıdakilere bir derleme bölümü ekleyin pom.xml: resim açıklamasını buraya girin

18

Maven ile ilgili birçok cevap doğrudur, ancak eklentiyi doğrudan yapılandırmanız gerekmez.

Apache Maven Derleyici Eklentisinin wiki sayfasında açıklandığı gibi , eklenti tarafından kullanılan 2 özelliği ayarlayabilirsiniz.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

1
@ Marvin Richter Çözümünüzü denedim ama IntelliJ ile çalışmıyor - Sanırım saf maven derlemesinde (komut satırı) doğru olması, ancak IntelliJ bu özellikleri görmezden geliyor. Eklentiyi diğer çözümlerde belirtildiği gibi yapılandırmak zorunda kaldım.
Benoit

1
Hayır yapmadım, çünkü diğer çözümler işe yaradı. Ve şimdi projemi derecelendirmek için geçtim.
Benoit

4
Yaptıktan sonra bir cazibe gibi çalışır Pom.xml -> Maven -> Reimport'a sağ tıklayın. Maven kullanıcıları için kabul edilen cevap bu olmalıdır.
ptkvsk

Aslında org.apache.maven.plugins:maven-compiler-pluginpom veya gradle dosyanızda eklentiye ihtiyacınız var, söylemeye niyetlenen belgelerde pom özelliklerinde ayarlanan bu özelliğe sahip olmanın yeterli olacağı, temelde eklentinin varsayılan değerlerini ayarladıkları için, örneğin <source $ $ { maven.compiler.source} </source>
EliuX

Bu kabul edilen cevap olmalı. Mac OS 10.13.5 için IntelliJ 2018.2'de çalıştı
User674669

13

Ben giderek bu sabit Proje Yapısı -> Modüller , söz konusu modülü bulmak tıklayarak Bağımlılıklar sekmesine, değişim Module SDKiçin Project SDK.


9

Sadece hedef derleme sürümünü 1.8 olarak değiştirerek düzelttim. İçinde:

Dosya >> Ayarlar >> Derleme, Yürütme, Dağıtım >> Derleyici >> Java Derleyici


1
Teşekkürler, Vishal. Intellij Idea ile proje bayt kodu sürümünü veya en azından modül başına bayt kodu sürümünü belirtmeliyiz. Sadece maven-compiler-plugin için pom.xml'de ayarlamak sorunu benim için çözmedi.
WebComer

6

Adresine gitmeniz /.idea/compiler.xmlve targetgereken jdkseviyeye değiştirmeniz gerekir .

resim açıklamasını buraya girin


5

Benim durumumda , projenin .iml dosyasını (proje kök klasöründe bulunur ve projenin adıyla aynı ada sahip) <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />açarak ve satırı<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

Ben burada cevaplar diğerleri gibi yapılandırılmış her şey vardı ama nedense Idea .iml dosyasını yanlış güncelledi.


2
Bazen Intellij tüm menüleri yapılandırsanız bile yapılandırma dosyalarını güncellemiyor gibi görünüyor. Önbellekleri geçersiz kılın ve yeniden başlatın (yapılandırma dosyalarını düzenledikten sonra), benim için hile yaptı. Garip.
jah

1
Çok teşekkürler. Son olarak, yukarıda belirtilen diğer tüm çözümleri denedikten ve başarısız olduktan sonra, bu işe yaradı.
Nitin Bansal

4

POM dosyamı değiştirerek düzelttim. En yüksek oyu alan yanıtın altındaki son yoruma dikkat edin.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

Kaynak hedefle eşleşmelidir.



3

Android-studio 1.3 ile çalışıyorsanız, aşağıdaki adımları izleyin -

Dosyaya Git - Proje Yapısı

Modüller - uygulama - Özellikler sekmesi altında Kaynak Uyumluluğu - 1.8'i seçin ve

Hedef Uyumluluğu - 1.8 .

Ve gitmekte fayda var.


3

Gradle uygulaması düzey dosyanızda >> compileOptions bu iki satırı ekleyin

android {
  compileOptions {
    ...
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    ...
   }
}

Teşekkürler dostum. Cevabınız işe yaradı
Solution Spirit

1

Compiler.xml dosyası altında şunları bulabilirsiniz:

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

ve hedef değeri eskiden yeniye değiştirebilirsin benim için 1,5'ten 1,8'e değiştirmem gerekiyordu


1

Aynı sorunla mücadele etmek için biraz zaman geçirdim. Benim için çalışan tek şey yerleşik mvn (3.3.9) kullanmak değil, harici bir indirilen sürüme (3.5.0) işaret etmekti. Sonunda proje açıldı ve her şey iyiydi.


1

Modülünüz Ek Açıklama işlemcisi ile yapılandırılmışsa ve diğer modül ayarlanmamışsa bu sorun oluşur.


0

Benim için sorun Maven'in uygun konfigürasyonları bulamamasıydı, çünkü bu öğeler ebeveyn pom'da belirtildi.

Dosya -> Ayarlar -> Derleme, Hariç Tutma, Dağıtım -> Maven -> Kullanıcı Ayarları dosyamı uygun havuzlarla özel ayarlarıma işaret edecek şekilde değiştirmek, aksi takdirde saklanan sorunu çözdü.

Sorun hakkında Yardım -> Günlüğü gezginde göster -> günlük dosyasını tıklatarak, daha önce yalnızca başlıktaki hatayı ve konsoldaki "java.lang.NullPointerException" hatasını aldığınızda öğrendim.


0

Sorunun çözümü çok basit . İdea Projenizde .idea / compiler.xml dosyasını açmanız ve

Uygun hedef sürümü yazmalısınız


0

Intellij ile Maven kullanarak Intellij'in projenizi otomatik olarak içe aktardığını kontrol etmelisiniz. Editörünüzün sağındaki Maven sekmesini tıklayarak kontrol edebilirsiniz.

resim açıklamasını buraya girin

Projeniz burada değilse, üzerine pom.xmltıklayarak dosyayı ekleyin +.

Açıkçası, proje aynı zamanda aşağıdakilere de sahip olmalıdır <build/>:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>

0

Diğer yanıtların hiçbiri işe yaramıyorsa, Modül SDK'nızı kontrol edin .

Ben proje SDK 1.8, Javac derleyici 1.8, vb için güncelledikten sonra benim için bu hata vardı. Benim için sorun olan ayar "Modül SDK" oldu.

(Linux'ta) Açılan File > Project Structure...pencereye gidin , Modulesaltında öğesini seçin Project Settings. Listeden söz konusu modülü ve ardından Dependenciessekmeyi seçin ve Module SDKuygun şekilde ayarlandığından emin olun .


0

Yukarıdakilerin tümünü kontrol ettim ama hata hala oluşuyor.

Ancak tüm maven Projelerini yeniden içe aktar (Maven Projeleri panelindeki yeniden yükle düğmesi) benim durumumda çalışıyor.


0

Modülünüz için bağımlılıklar ayarlamayı unutmayın: resim açıklamasını buraya girin

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.