การตั้งค่า JDK ใน Eclipse


117

ฉันมี JDK สองตัวสำหรับ Java 6 และ 7

ฉันต้องการสร้างโครงการโดยใช้ทั้งสองอย่าง เริ่มแรกเราสร้างขึ้นเฉพาะกับ 1.6 ฉันเห็นในการตั้งค่าโครงการของฉันฉันสามารถเลือก 1.5, 1.6 1.7 เป็นระดับคอมไพเลอร์

ตัวเลือกเหล่านี้ถูกเพิ่มเข้าไปใน IDE ได้อย่างไร? ฉันไม่เคยติดตั้ง Java 1.5 สมมติว่าฉันต้องการ Java 1.4 ฉันจะทำให้สิ่งนี้ปรากฏในรายการได้อย่างไร ฉันได้เพิ่ม JRE ที่แตกต่างกันสองรายการในการตั้งค่า IDE ของฉัน แต่สิ่งเหล่านี้ไม่ใช่สิ่งที่ปรากฏในดรอปดาวน์

คำตอบ:


145

คุณจัดการรายการคอมไพเลอร์ที่มีอยู่ในไฟล์Window -> Preferences -> Java -> Installed JRE's tab.

ในกล่องโต้ตอบการกำหนดค่าเส้นทางการสร้างโครงการภายใต้แท็บไลบรารีคุณสามารถลบรายการสำหรับJRE System LibraryคลิกAdd Libraryและเลือก JRE ที่ติดตั้งเพื่อคอมไพล์ คอมไพเลอร์บางตัวสามารถกำหนดค่าให้คอมไพล์ในเวอร์ชันคอมไพเลอร์ระดับหลังได้ ฉันคิดว่านั่นเป็นสาเหตุที่คุณเห็นตัวเลือกเวอร์ชันเพิ่มเติม


ฉันได้เพิ่ม JRE ของตัวเองผ่านทางตัวเลือก "เพิ่ม" ในหน้าต่าง JREs ที่ติดตั้ง ปัญหาคือเมื่อฉันตรวจสอบสิ่งที่ฉันต้องการให้ Eclipse ใช้มันไม่ได้รับเป็นพื้นที่ทำงานเริ่มต้น JRE ดังนั้นเมื่อฉันดูในคุณสมบัติโครงการของฉัน "JRE System Library" ยังคงอยู่ที่นั่น เมื่อฉันลบมันและเลือก "Use default Workspace JRE" เท่านั้นมันก็รับการเปลี่ยนแปลงของฉัน ฉันคิดว่า Eclipse ควรอัปเดตโครงการ JRE ของฉันเมื่อฉันเลือก JRE อื่นสำหรับพื้นที่ทำงานของฉัน
MayoMan

1
แม้ว่าจะระบุว่า "ใช้ค่าเริ่มต้น" แต่จริงๆแล้วใช้ค่าเริ่มต้นในขณะที่สร้าง / นำเข้าโครงการและจะไม่ย้อนกลับ
Chris Gerken

2
สำหรับผู้ที่ไม่พบรายการ "ค่ากำหนด" จะอยู่ในเมนูแบบเลื่อนลง "หน้าต่าง"
Greg Quinn

80

อาจต้องใช้ขั้นตอนเพิ่มเติมบางอย่างเพื่อตั้งค่าทั้งโปรเจ็กต์และพื้นที่ทำงานเริ่มต้น JRE ให้ถูกต้องตามที่ MayoMan กล่าวถึง นี่คือลำดับที่สมบูรณ์ใน Eclipse Luna:

  • คลิกขวาที่โครงการของคุณ> คุณสมบัติ
  • เลือก“ Java Build Path” ทางด้านซ้ายจากนั้นเลือก“ JRE System Library” คลิก Edit …
  • เลือก "Workspace Default JRE"
  • คลิก "JRE ที่ติดตั้ง"
  • หากคุณเห็น JRE ที่คุณต้องการในรายการให้เลือก (การเลือก JDK ก็ใช้ได้เช่นกัน)
  • ถ้าไม่มีให้คลิก Search …ไปที่ Computer> Windows C:> Program Files> Java จากนั้นคลิก OK
  • ตอนนี้คุณควรเห็น JRE ที่ติดตั้งทั้งหมดแล้วเลือกอันที่คุณต้องการ
  • คลิกตกลง / เสร็จสิ้นล้านครั้ง

ง่าย .... ไม่.


3
ฉันต้องเปลี่ยนตัวแปรสภาพแวดล้อม JAVA_HOME เป็นโฟลเดอร์ของ JDK ด้วยและ JRE ก็ไม่เพียงพอ
Noumenon

2
ขอบคุณจอร์จี้! เว็บสเตอร์กำหนดค่าเริ่มต้นเป็น "การเลือกที่โปรแกรมใช้โดยอัตโนมัติหากไม่มีตัวเลือกที่ผู้ใช้เลือก" ยังไม่ได้เลือก "Workspace Default JRE" ตามค่าเริ่มต้น
JohnC

ขอบคุณ @Georgie คุณประหยัดเวลาของฉัน :)
Bhuvan Arora

13

ในการบอกให้ eclipse ใช้ JDK คุณต้องทำตามขั้นตอนด้านล่างนี้

  1. เลือกหน้าต่างเมนูแล้วเลือกการตั้งค่า คุณสามารถเห็นกล่องโต้ตอบ
  2. จากนั้นเลือกJava ---> Installed JRE’s
  3. จากนั้นคลิกเพิ่มแล้วเลือกStandard VMจากนั้นคลิกถัดไป
  4. ในหน้าแรก JRE ไปที่โฟลเดอร์ที่คุณติดตั้ง JDK (ตัวอย่างเช่นในระบบของฉัน JDK ของฉันอยู่ใน C: \ Program Files \ Java \ jdk1.8.0_181 \)
  5. ตอนนี้คลิกที่เสร็จสิ้น

หลังจากทำตามขั้นตอนข้างต้นเสร็จเรียบร้อยแล้วและคราสจะเริ่มใช้ JDK ที่เลือกสำหรับการคอมไพล์


3

คอมไพเลอร์ของ Eclipse สามารถรับรองได้ว่าแหล่งที่มา java ของคุณเป็นไปตามเวอร์ชัน JDK ที่กำหนดแม้ว่าคุณจะไม่ได้ติดตั้งเวอร์ชันนั้นก็ตาม คุณลักษณะนี้มีประโยชน์ในการตรวจสอบความเข้ากันได้ย้อนหลังของรหัส

รหัสของคุณจะยังคงถูกรวบรวมและเรียกใช้โดย JDK ที่คุณเลือก


2

JDK 1.8 มีคุณสมบัติที่เพิ่มขึ้นซึ่งไม่รองรับคราสจำนวนมาก

หากคุณไม่พบระดับการปฏิบัติตาม java เป็น 1.8 ในคอมไพเลอร์ java ให้ดำเนินการต่อและติดตั้ง eclipse 32 บิตหรือ 64 บิตด้านล่างขึ้นอยู่กับระบบของคุณที่รองรับ

  1. ติดตั้ง jdk 1.8 แล้วตั้งค่า JAVA_HOME และ CLASSPATH ในตัวแปรสภาพแวดล้อม
  2. ดาวน์โหลด eclipse-jee-neon-3-win32 และ unzip: รองรับกับ java 1.8
  3. หรือดาวน์โหลด Oracle Enterprise Pack for Eclipse (12.2.1.5) และ unzip: รองรับ java 1.8 พร้อมระบบปฏิบัติการ 64 บิต
  4. คลิกขวาที่โครงการของคุณ> คุณสมบัติ
  5. เลือก“ Java Compiler” ทางด้านซ้ายและตั้งค่าระดับการปฏิบัติตามข้อกำหนดของ java เป็น 1.8 [เลือกจากดรอปดาวน์ 1.8]
  6. ลองเรียกใช้โปรแกรม java หนึ่งโปรแกรมที่รองรับ java 8 เช่น lambda expression ด้านล่างและหากไม่มีข้อผิดพลาดในการคอมไพล์หมายความว่า eclipse ของคุณรองรับ java 1.8 สิ่งนี้:

    interface testI{
        void show();
    }
    
    /*class A implements testI{
        public void show(){
            System.out.println("Hello");
        }
    }*/
    
    public class LambdaDemo1 {
        public static void main(String[] args) {
            testI test ;
            /*test= new A();
            test.show();*/
            test = () ->System.out.println("Hello,how are you?"); //lambda 
            test.show();
        }        
    }

ยินดีต้อนรับสู่ StackOverflow และขอขอบคุณที่พยายามช่วยเหลือ โปรดพิจารณาปรับปรุงความสามารถในการอ่านคำตอบของคุณโดยเรียนรู้เกี่ยวกับการจัดรูปแบบ การเข้าร่วมทัวร์อาจสนับสนุนคุณในการทำเช่นนั้น
Yunnosch

2

การกำหนดค่า JDKs

  1. Windows -> ค่ากำหนด -> JRE ที่ติดตั้งเพื่อกำหนดค่า JDK ที่ติดตั้ง
  2. คุณสมบัติโครงการ, Java Compiler, เปิดใช้งานการตั้งค่าเฉพาะโครงการ (หรือกำหนดค่าการตั้งค่าพื้นที่ทำงาน), การปฏิบัติตามข้อกำหนด JDK
  3. คุณสมบัติโครงการ, เส้นทางการสร้าง Java, ไลบรารี, เพิ่มไลบรารี, ไลบรารีระบบ JRE, ค่าเริ่มต้นของพื้นที่ทำงานหรือ JRE สำรอง (หนึ่งใน JREs ที่กำหนดค่าใน

Maven

แต่ถ้าคุณใช้ maven โดยมีเงื่อนไขว่าคุณมี JRE ล่าสุด (Windows / Preferences / Installed JREs) - ตัวอย่างเช่น JDK 1.8

คุณสามารถเลือกระดับ 1.6, 1.7, 1.8 ได้โดยกำหนดค่าแหล่งที่มา maven-compiler-plugin และแอตทริบิวต์เป้าหมายเช่นนี้

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

และตามหลักการแล้วถ้าคุณมีพาเรนต์ปอมคุณสามารถทำได้สำหรับโมดูลทั้งหมด (โปรเจ็กต์ Eclipse) ในพาเรนต์ปอมในที่เดียว

ซอร์สและเป้าหมาย หากเราต้องการใช้คุณสมบัติของภาษา Java 8 ควรตั้งค่า - ซอร์สเป็น 1.8 นอกจากนี้เพื่อให้คลาสที่คอมไพล์เข้ากันได้กับ JVM 1.8 ค่า - เป้าหมายควรเป็น 1.8

การอัปเดตไลบรารี JRE ที่เสียในหลายโครงการพร้อมกัน (ด้วย Maven)

แทนที่จะอัปเดตไลบรารี JRE ทีละรายการให้ Maven จัดการแทนคุณ

การเลือกโปรเจ็กต์และคลิกขวาสำหรับ Maven -> Update Project จะตั้งค่าไลบรารีระบบไปยังพา ธ ของ JDK ที่ติดตั้งในกรณีที่พา ธ เสีย (เนื่องจากคุณติดตั้ง JDK ใหม่หรืออิมพอร์ตจากคอมพิวเตอร์เครื่องอื่นเป็นต้น) และ ตั้งค่าการปฏิบัติตาม JDK ตามแหล่งที่มาของ maven และการตั้งค่าเป้าหมายใน pom

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