ข้อผิดพลาด: java: การเปิดตัวแหล่งที่ไม่ถูกต้อง: 8 ใน Intellij มันหมายความว่าอะไร?


342

ฉันพยายามรวบรวมรหัสบางอย่างในฉันใช้ 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

ฉันเดาว่ามันเกี่ยวข้องกับ Java 8 กับ Java 7 แต่ฉันไม่รู้ว่าอะไรเป็นพิเศษ ฉันได้ลองใช้ Google เพื่อหาข้อความนี้ แต่พวกเขาอาจพูดถึงjavacหรือtarget releaseดังนั้นจึงดูเหมือนจะไม่ได้ใช้อย่างแน่นอน


2
ติดตั้ง Java เวอร์ชันใด JRE / JDK คุณชี้ intellij ไปที่ใดในการตั้งค่า IDE
nanofarad

2
อาจตั้งค่าโครงการ ตรวจสอบ JDK ที่คุณกำลังชี้ไปและระดับภาษาที่คุณต้องการ
duffymo

1
@duffymo คุณพูดถูกมันชี้ไปที่ 8 ฉันไม่ได้ตระหนักว่าเป็นการตั้งค่า
David พูดว่า Reinstate Monica

คำตอบ:


768

ฉันมีปัญหาเดียวกันเมื่อ "ลดระดับ" โครงการจาก Java 8 เป็น Java 6 เหตุผลก็คือมันไม่ได้เปลี่ยนไปทุกที่ใน IntelliJ

ใน IntelliJ 13.1.4 ฉันต้องเปลี่ยนรุ่น Java และ SDK ในที่ต่อไปนี้เพื่อไม่ให้เกิดข้อผิดพลาดนี้:

  • ไฟล์ -> โครงสร้างโครงการ -> การตั้งค่าโครงการ
  • ไฟล์ -> โครงสร้างโครงการ -> การตั้งค่าโมดูล -> แท็บ: แหล่งที่มา: ระดับภาษา
  • ไฟล์ -> โครงสร้างโครงการ -> การตั้งค่าโมดูล -> แท็บ: อ้างอิง: โมดูล SDK
  • ไฟล์ -> การตั้งค่า -> คอมไพเลอร์ -> Java คอมไพเลอร์ -> เวอร์ชั่นเป้าหมาย bytecode

สกรีนช็อตของไฟล์> โครงสร้างโครงการ> โครงการ

สกรีนช็อตของไฟล์> โครงสร้างโครงการ> โมดูล> แหล่งที่มา

สกรีนช็อตของไฟล์> โครงสร้างโครงการ> โมดูล> การพึ่งพา

สกรีนช็อตของไฟล์> การตั้งค่า / ค่ากำหนด> คอมไพเลอร์> Java คอมไพเลอร์

สัญลักษณ์แสดงหัวข้อสุดท้ายคือกระสุนที่ไม่ได้รับการปรับปรุงในกรณีของฉัน เมื่อฉันเปลี่ยนแปลงสิ่งนี้ข้อผิดพลาดก็หายไป


31
File -> Settings -> Compiler -> Java Compiler -> Target bytecode versionหนึ่งฆ่าฉันเป็นหนึ่งในนี้: ขอบคุณ
bitoiu

18
ฉันพบปัญหานี้เช่นกัน แต่ก็ไม่ได้ผล ฉันต้องทำIntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVMในกรณีที่มีใครประสบปัญหานี้ในขณะที่ใช้ Gradle
Emil

2
แหล่งที่มา: ระดับภาษาเปลี่ยนเป็น 7 - ไดมอนด์, ARM, มัลติคาสต์ ฯลฯ สำหรับ IDEA 15
Mia

4
นี่ควรเป็นคำตอบที่ยอมรับได้ ในฐานะที่เป็นขนาดเล็กหัวขึ้นในความคิด IntelliJ 15, 4 Preferences -> Build, Execution, Deployment -> Compiler -> Java Compilerจุดได้ย้ายไป
iusting

นอกจากนี้ยังมีตัวเลือก JRE ในการกำหนดค่าการทำงาน / ดีบักบางอย่าง ตัวอย่างเช่นการกำหนดค่า Tomcat run / debug มีตัวเลือก "JRE" ที่สามารถทำให้เกิดข้อผิดพลาดนี้ได้
jordanpg

16

ตรวจสอบpom.xmlครั้งแรกของคุณ(ถ้าคุณมี)
ตรวจสอบการJDKพึ่งพาของโมดูล ตรวจสอบให้แน่ใจว่าเป็น สิ่งที่ต้องทำไปที่Project Project -> SDK ของ เพิ่มเส้นทางไปยังที่ที่คุณเก็บไว้1.8 ( ในกรณีของฉัน) ใช้การเปลี่ยนแปลง ตอนนี้ไปที่โครงสร้างโครงการ-> Modules เปลี่ยน Module SDK เพื่อ ใช้การเปลี่ยนแปลง1.8

jdk1.8.0_45.jdk


1.8

Voila! คุณทำเสร็จแล้ว


6

สำหรับผู้ใช้ 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

แก้ไขปัญหา!


5

เปลี่ยนpom.xml 1.6เป็น1.8

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

5

Project Structureมันจะสามารถเอาชนะได้ง่ายๆโดยการตั้งค่า คุณเพียงแค่ต้องเลือกเส้นทางที่ถูกต้องสำหรับ JDK รุ่นที่เกี่ยวข้อง เลือกnewที่แท็บการพึ่งพาและเลือกเส้นทาง มันจบแล้ว!

ป้อนคำอธิบายรูปภาพที่นี่


4

หากคุณกำลังใช้ Gradle เป็นเครื่องมือสร้างและคุณได้รับข้อผิดพลาดนี้เมื่อดำเนินงาน Gradle เช่น TomcatRun ลองดูคำตอบอื่น ๆ ของคำถามเดียวกัน

javac: ปล่อยเป้าหมายที่ไม่ถูกต้อง: 1.8


ขอบคุณ! วิธีนี้แก้ไขปัญหาของฉันหลังจากคำตอบข้างต้นไม่ได้
chazzlabs

2

คำตอบของ Andreas Lundgren ทำงานได้และฉันสามารถรวบรวมและเรียกใช้แอปของฉันได้

อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้การทดสอบ JUnit ที่เกี่ยวข้องของโครงการฉันได้รับข้อผิดพลาดเดียวกัน วิ่ง

gradle -version

จากพรอมต์คำสั่งของ Windows แสดงให้เห็นว่าการไล่ระดับยังคงรับ jdk ที่ไม่ถูกต้อง เพื่อแก้ไขฉันต้องตั้งค่าJAVA_HOMEตัวแปรสภาพแวดล้อมให้ชี้ไปที่ jdk ที่ถูกต้องและเริ่ม IntelliJ


1

ฉันได้ตรวจสอบทั้งหมดข้างต้นกล่าวว่ารุ่นโครงการรุ่นโมดูลรุ่นโครงการ bytecode เป้าหมายการตั้งค่ารุ่น bytecode ในIntelliJ Ideaแต่ทั้งหมดก็เหมือนกันกับที่ฉันมีรอยขีดข่วน

ฉันต้องเผชิญกับข้อผิดพลาดนี้Error:java: invalid source release: 1.8ในIntelliJ Idea 2017.2.6เพราะผมอัพเกรดรุ่นพึ่งพาMavenไฟล์ pom ซึ่ง (การพึ่งพา) ควรจะสร้างสำหรับ JDK 1.8 ใบสมัครและผมกำลังสร้างแอพลิเคชันของฉันและมีแหล่งที่มาคอมไพเลอร์ผู้เชี่ยวชาญและเป้าหมาย JDK 1.7

ดังนั้นฉันจึงลดระดับรุ่นการพึ่งพาไปเป็นรุ่นก่อนหน้านี้อีกครั้งในMavenpom และข้อผิดพลาดหายไปหลังจากโครงการสร้างใหม่โมดูล 'xyz_project'


0

สำหรับผู้ใช้ 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

คุณต้องคลิกเพื่อเปิดการตั้งค่าโมดูลโมดูลและเปลี่ยนเส้นทางของ JDK ของคุณหากในไฟล์ POM คุณใช้ jdk 1.8 ให้กำหนดค่า jdk 1.8 ด้วยพา ธ ที่ถูกต้อง



0

ฉันลองทำตามขั้นตอนทั้งหมดที่กล่าวถึงที่นี่https://stackoverflow.com/a/26009627/2058104แต่ตอนนี้จุดที่ 4 ได้เปลี่ยนไปแล้ว คุณต้องไปที่การตั้งค่า -> Build, Execution, Deployment -> Compiler -> Java Compiler

ในที่นั่นดังแสดงในรูปด้านล่างคุณจะต้องเปลี่ยน "Target bytecode version" แม้ว่าฉันจะเปลี่ยนเป็น 8 (เนื่องจากฉันต้องการปรับลดรุ่นเป็น Java 8) แต่ก็มีข้อผิดพลาดเดียวกันซ้ำไปซ้ำมา ดังนั้นลองลบรายการที่มีอยู่ (ในตารางนี้) และเพิ่มอีกครั้ง สิ่งนี้ใช้ได้สำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่

ในอีกทางหนึ่งให้ทำความสะอาดโครงการแล้วลองเรียกใช้อีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.