IntelliJ: lambda ifadesini değerlendirin hata ayıklamada bir derleme hatası yarattı

I'd like to evaluate code including lambda expression with Intellij 'Evaluate Code Fragment' feature. But then, Intellij raises an error Unable to compile for target level 1.8. Need to run IDEA on java version at least 1.8, currently running on 1.6.0_65-b14-462-11M4609

Değerlendirme kodu aşağıdaki gibi çok basittir.

Set set = new HashSet<>();
set.add(1);
set.stream().map(v->v).collect(Collectors.toSet());

Intellij sürümüm 14.0.3'tür ve resmi belgeye göre sürüm 14, lambda ifadesi değerlendirmesini destekler.

Bu özellik nasıl kullanılabilir?

enter image description here

9
Bunun bir hata olduğu anlaşılıyor: youtrack.jetbrains.com/issue/IDEA-132099 IntelliJ'in 1.6'da çalıştığı gerçeğinden kaynaklanıyor (Apple JDK sanırım) ancak proje JDK 1.8 kullanıyor. Bu yüzden çözüm IntelliJ'in JDK 1.8 kullanmasını sağlamak, ancak en son Mac'te bununla ilgili bazı performans sorunları olduğunu duydum. Ancak bu zaten düzeltilmiş olabilir.
katma yazar Bohuslav Burghardt, kaynak
Bunun bir hata olduğu anlaşılıyor: youtrack.jetbrains.com/issue/IDEA-132099 IntelliJ'in 1.6'da çalıştığı gerçeğinden kaynaklanıyor (Apple JDK sanırım) ancak proje JDK 1.8 kullanıyor. Bu yüzden çözüm IntelliJ'in JDK 1.8 kullanmasını sağlamak, ancak en son Mac'te bununla ilgili bazı performans sorunları olduğunu duydum. Ancak bu zaten düzeltilmiş olabilir.
katma yazar Bohuslav Burghardt, kaynak
Bunun bir hata olduğu anlaşılıyor: youtrack.jetbrains.com/issue/IDEA-132099 IntelliJ'in 1.6'da çalıştığı gerçeğinden kaynaklanıyor (Apple JDK sanırım) ancak proje JDK 1.8 kullanıyor. Bu yüzden çözüm IntelliJ'in JDK 1.8 kullanmasını sağlamak, ancak en son Mac'te bununla ilgili bazı performans sorunları olduğunu duydum. Ancak bu zaten düzeltilmiş olabilir.
katma yazar Bohuslav Burghardt, kaynak
Bohuslav'ın cevabı benim için çalıştı. JDK'yi değiştirmek için bu talimatlar . Mac'imde Info.plist'i şu şekilde değiştirdim: JVMVersion 1.8* . İyi görünüyor. Şimdi hata ayıklama modunda lambda yürütebilir.
katma yazar adrian lange, kaynak
Bohuslav'ın cevabı benim için çalıştı. JDK'yi değiştirmek için bu talimatlar . Mac'imde Info.plist'i şu şekilde değiştirdim: JVMVersion 1.8* . İyi görünüyor. Şimdi hata ayıklama modunda lambda yürütebilir.
katma yazar adrian lange, kaynak
Bohuslav'ın cevabı benim için çalıştı. JDK'yi değiştirmek için bu talimatlar . Mac'imde Info.plist'i şu şekilde değiştirdim: JVMVersion 1.8* . İyi görünüyor. Şimdi hata ayıklama modunda lambda yürütebilir.
katma yazar adrian lange, kaynak

9 cevap

IntelliJ ve Eclipse üzerinde yukarıda belirtilen projeye özgü ayarları uyguladıktan sonra bile, hala başarısız oldu!

Benim için işe yarayan, POM XML'de 1.8 ayarlı kaynak ve hedef içeren maven eklentisinin eklenmesiydi:


    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.0.2
            
                1.8
                1.8
            
        

        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        lib/
                        com.abc.sparkcore.JavaWordCount
                    
                
            
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy
                    install
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/lib
                    
                
            
        
    
 
1
katma

IntelliJ ve Eclipse üzerinde yukarıda belirtilen projeye özgü ayarları uyguladıktan sonra bile, hala başarısız oldu!

Benim için işe yarayan, POM XML'de 1.8 ayarlı kaynak ve hedef içeren maven eklentisinin eklenmesiydi:


    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.0.2
            
                1.8
                1.8
            
        

        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        lib/
                        com.abc.sparkcore.JavaWordCount
                    
                
            
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy
                    install
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/lib
                    
                
            
        
    
 
1
katma

IntelliJ ve Eclipse üzerinde yukarıda belirtilen projeye özgü ayarları uyguladıktan sonra bile, hala başarısız oldu!

Benim için işe yarayan, POM XML'de 1.8 ayarlı kaynak ve hedef içeren maven eklentisinin eklenmesiydi:


    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.0.2
            
                1.8
                1.8
            
        

        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        lib/
                        com.abc.sparkcore.JavaWordCount
                    
                
            
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy
                    install
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/lib
                    
                
            
        
    
 
1
katma
Unable to compile for target level 1.8...Currently running on version 1.6

Benim tahminim, projenizin Java'ları desteklemeyen bir lambdada çalıştırıldığı yönünde. Java 8'in kurulu olduğundan emin olun ve ayrıca proje seviyenizi Java 8'i kullanacak şekilde değiştirdiğinizden emin olun: Açıkça lambdalar olduğuna dikkat edin.

0
katma
Unable to compile for target level 1.8...Currently running on version 1.6

Benim tahminim, projenizin Java'ları desteklemeyen bir lambdada çalıştırıldığı yönünde. Java 8'in kurulu olduğundan emin olun ve ayrıca proje seviyenizi Java 8'i kullanacak şekilde değiştirdiğinizden emin olun: Açıkça lambdalar olduğuna dikkat edin.

0
katma
Unable to compile for target level 1.8...Currently running on version 1.6

Benim tahminim, projenizin Java'ları desteklemeyen bir lambdada çalıştırıldığı yönünde. Java 8'in kurulu olduğundan emin olun ve ayrıca proje seviyenizi Java 8'i kullanacak şekilde değiştirdiğinizden emin olun: Açıkça lambdalar olduğuna dikkat edin.

0
katma

Yorumlarınızı adrian lange ve Bohuslav Burghardt , ya Java 1.8 ile birlikte gelen en son IntelliJ 14.1'e yükseltin ya da mevcut IntelliJ'inizi Java 1.8 kullanacak şekilde değiştirin. IDEA-132099 hatalarına bakın.

Java 1.8'e geçmek için:

  1. Install Java 8
  2. Change IntelliJ to use Java 8. See these instructions.Project structure
0
katma
Projenizi java 8'de derlemeniz gerekiyorsa, cevap yeterince iyidir. Ancak izleyicide/ifadede java 8 sözdizimini kullanmak için, java 8'e işaret etmek için IDEA_JDK ve IDEA_JDK_64'ü güncellemeliydim (java 8'de bahsedilmiştir) Yine de cevap).
katma yazar Dhana Krishnasamy, kaynak

Yorumlarınızı adrian lange ve Bohuslav Burghardt , ya Java 1.8 ile birlikte gelen en son IntelliJ 14.1'e yükseltin ya da mevcut IntelliJ'inizi Java 1.8 kullanacak şekilde değiştirin. IDEA-132099 hatalarına bakın.

Java 1.8'e geçmek için:

  1. Install Java 8
  2. Change IntelliJ to use Java 8. See these instructions.Project structure
0
katma
Projenizi java 8'de derlemeniz gerekiyorsa, cevap yeterince iyidir. Ancak izleyicide/ifadede java 8 sözdizimini kullanmak için, java 8'e işaret etmek için IDEA_JDK ve IDEA_JDK_64'ü güncellemeliydim (java 8'de bahsedilmiştir) Yine de cevap).
katma yazar Dhana Krishnasamy, kaynak

Yorumlarınızı adrian lange ve Bohuslav Burghardt , ya Java 1.8 ile birlikte gelen en son IntelliJ 14.1'e yükseltin ya da mevcut IntelliJ'inizi Java 1.8 kullanacak şekilde değiştirin. IDEA-132099 hatalarına bakın.

Java 1.8'e geçmek için:

  1. Install Java 8
  2. Change IntelliJ to use Java 8. See these instructions.Project structure
0
katma
Projenizi java 8'de derlemeniz gerekiyorsa, cevap yeterince iyidir. Ancak izleyicide/ifadede java 8 sözdizimini kullanmak için, java 8'e işaret etmek için IDEA_JDK ve IDEA_JDK_64'ü güncellemeliydim (java 8'de bahsedilmiştir) Yine de cevap).
katma yazar Dhana Krishnasamy, kaynak