it-swarm.asia

خطأ: Java: إصدار مصدر غير صالح: 8 في Intellij. ماذا تعني؟

أنا أحاول أن أجمع بعض الشفرات في أنا أستخدم Intellij Ultimate 13.1.4 ، لكنني حصلت على الخطأ التالي وليس لدي أي فكرة عما يعنيه:

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

أظن أن الأمر يتعلق بجافا 8 مقابل جافا 7 ، لكن ليس لدي فكرة عما هو محدد. لقد جربت Google حول هذه الرسالة ، لكنهم إما يتحدثون عن javac أو target release ، لذلك لا يبدو أنه ينطبق تمامًا.

265
David Grinberg

واجهت نفس المشكلة عند "تقليل" مشروع من Java 8 إلى Java 6. وكان السبب أنه لم يتم تغييره في جميع الأماكن في IntelliJ.

في IntelliJ 13.1.4 ، كان علي تغيير إصدار Java و SDK في الأماكن التالية حتى لا أتلقى هذا الخطأ:

  • ملف -> هيكل المشروع -> إعدادات المشروع
  • ملف -> بنية المشروع -> إعدادات الوحدة النمطية -> علامة تبويب: المصادر: مستوى اللغة
  • ملف -> بنية المشروع -> إعدادات الوحدة النمطية -> علامة تبويب: التبعيات: الوحدة النمطية SDK
  • ملف -> إعدادات -> برنامج التحويل البرمجي -> برنامج Java Compiler -> إصدار bytecode الهدف

 screen shot of File > Project Structure > Project

 screen shot of File > Project Structure > Modules > Sources

 screen shot of File > Project Structure > Modules > Dependencies

 screen shot of File > Settings/Preferences > Compiler > Java Compiler

كانت الرصاصة الأخيرة التي لم يتم تحديثها في حالتي. بمجرد تغيير هذا ، اختفى الخطأ.

596
Andreas Lundgren

تحقق من pom.xml أولاً (إذا كان لديك واحد)
تحقق من التبعية JDK للوحدة. تأكد من أنه1.8
للقيام بذلك ، انتقل إلى هيكل المشروع -> SDK's
أضف المسار إلى حيث قمت بتخزين 1.8 (jdk1.8.0_45.jdk في حالتي)
تطبيق التغييرات
الآن ، انتقل إلى المشروع الهيكل -> الوحدات
تغيير الوحدة النمطية SDK إلى1.8
تطبيق التغييرات

فويلا! انت انتهيت

16
Yash Bajaj

إذا كنت تستخدم Gradle كأداة إنشاء وتحصل على هذا الخطأ عند تنفيذ مهمة Gradle بمعنى TomcatRun ، ألق نظرة على إجابتي الأخرى على نفس السؤال

javac: إصدار هدف غير صالح: 1.8

4
juliangonzalez

بالنسبة إلى مستخدمي Gradle الذين يواجهون هذه المشكلات ، إذا لم يساعد أي شيء أعلاه هذا في حل مشكلتي - قم بتطبيق هذه الإعلانات في ملفات build.gradle الخاصة بك:

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

تم حل المشكلة!

4
Java_Waldi

يمكن التغلب عليها ببساطة عن طريق الإعداد على Project Structure. تحتاج فقط إلى تحديد المسار الصحيح للإصدار ذي الصلة من JDK. حدد new في علامة التبويب التبعيات ، واختر المسار. تم التنفيذ!

 enter image description here

4
snr

التغيير في pom.xml1.6 إلى 1.8

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

نجحت إجابة أندرياس لوندغرين وتمكنت من تجميع تطبيقي وتشغيله.

ومع ذلك ، عندما حاولت تشغيل اختبارات JUnit المرتبطة بالمشروع ، تلقيت نفس الخطأ. جري

gradle -version

من أمر ويندوز ، وأظهر موجه أن gradle كان لا يزال التقاط jdk غير صحيحة. لإصلاحه ، اضطررت إلى ضبط متغير البيئة Java_HOME للإشارة إلى jdk الصحيح وإعادة تشغيل IntelliJ.

2
jilbot

لقد راجعت كل ما سبق ذكره إصدار المشروع ، إصدار الوحدة النمطية ، إصدار رمز المشروع ، إعدادات إصدار رمز الهدف في IntelliJ Idea ، ولكن جميعها كانت هي نفسها التي خدشتها.

أواجه هذا الخطأError:Java: invalid source release: 1.8في IntelliJ Idea 2017.2.6 لأنني قمت بترقية ملف التبعية Maven pom ، والذي كان من المفترض (التبعية) إنشاؤه لتطبيق JDK 1.8 وكنت بصدد بناء طلبي على ومع مصدر maven compiler والهدف JDK 1.7.

وبالتالي ، قمت مرة أخرى بتقليل إصدار التبعية إلى إصدار سابق في Maven pom ، والخطأ الذي حدث بعد إعادة إنشاء الوحدة النمطية للمشروع "xyz_project".

1
ArifMustafa

لمستخدمي Grails ، قم بتطبيق هذه التعريفات في ملف BuildConfig.groovy الخاص بك:

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
B5A7

تحتاج إلى النقر فوق "فتح إعدادات الوحدة النمطية" للمشروع وتغيير مسار JDK الخاص بك ، إذا كنت في الملف POM تستخدم jdk 1.8 ، فقم بتكوين jdk 1.8 بالمسار الصحيح.

0
Katherine Nicol