JAVA_HOME ควรชี้ไปที่ JDK หรือ JRE?


102

ผมชี้ไปJAVA_HOME C:\Program Files (x86)\Java\jre7มันทำงานได้ดี หลังจากนั้นฉันคลายซิปมดและตั้งค่าตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับ Ant ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้หลังจากพิมพ์"ant -version"

ภาพ

ฉันค้นหาฟอรัมนี้ ดูเหมือนวิธีแก้ปัญหาหนึ่งคือชี้ Java ไปที่ JDK แทน JRE ฉันไม่แน่ใจว่านี่ควรเป็นวิธีแก้ปัญหาหรือไม่ กล่าวอีกนัยหนึ่งโดยทั่วไป JAVA_HOME ควรชี้ไปที่ข้อใด JDK หรือ JRE?

คำตอบ:


121

หากคุณกำลังทำการพัฒนาหรือสร้างด้วย Maven หรือ Ant คุณต้องชี้ไปที่ JDK (Java Development Kit) ที่ยูทิลิตี้เช่นjavac(Java Compiler) อยู่ มิฉะนั้นคุณสามารถชี้ไปที่ JRE (Java Runtime Environment)

JDK มีทุกสิ่งที่ JRE มีและอื่น ๆ หากคุณเพิ่งเรียกใช้โปรแกรม Java คุณสามารถชี้ไปที่ JRE หรือ JDK


7
ดังนั้นJAVA_HOMEจะใช้ในการทำสองสิ่ง: 1: javac.exeสำหรับเครื่องมือในการพัฒนาหา 2: เครื่องมือ nondevelopment, java.exeการค้นพบ นี้ดูเหมือนว่าจะละเมิด"เครื่องมือหนึ่งสำหรับสิ่งหนึ่ง" ไม่ควรJDK_HOMEใช้แทนกัน?
Pacerier

4
แผนภาพบนไซต์นี้แสดงความสัมพันธ์ระหว่าง JDK และ JRE docs.oracle.com/javase/8/docs
andrybak

1
เป็นไปได้ไหมที่จะตรวจสอบความถูกต้องตามหลักไวยากรณ์ว่าพา ธ Java ถูกตั้งค่าเป็น JRE หรือ JDK
Dinesh Kumar P


6

JAVA_HOME ของฉันชี้ไปที่ JDK หากยังใช้ไม่ได้ให้ตรวจสอบว่าคุณดาวน์โหลด ant สำหรับ Java 7 หรือไม่สำหรับ Java 6


5

โดยทั่วไปไม่สำคัญว่าคุณจะชี้ไปที่ JRE หรือ JDK ขึ้นอยู่กับแอปพลิเคชันที่ใช้ เอกสาร Ant บอกว่าคุณควรชี้ไปที่ JDK เพื่อรับคุณสมบัติทั้งหมดของ Ant


2

ในฐานะนักพัฒนาคุณควรชี้ JAVA_HOME ของคุณไปที่ jdk เพื่อเข้าถึง javac copiler เป็นต้นซึ่งจะเป็นการดีหากคุณสามารถทดสอบโปรแกรมของคุณให้ทำงานบน JRE ได้ หากคุณใช้เซิร์ฟเวอร์แอปคุณมักจะต้องใช้ JDK แทน JRE แต่ขึ้นอยู่กับเซิร์ฟเวอร์นั้น ๆ


2

คุณสามารถใช้ JDK หรือ JRE แต่:

JAVA_HOME ถูกใช้โดยตัวเรียกใช้งานเพื่อค้นหา JDK / JRE ที่จะใช้ (แนะนำให้ใช้ JDK เนื่องจากงานบางอย่างต้องใช้เครื่องมือ java)
. การตั้งค่า ANT_HOME


0

ให้มันง่าย ไปที่การตั้งค่าและค้นหา "ตัวแปรสภาพแวดล้อม" เมื่อหน้าต่างตัวแปรสภาพแวดล้อมปรากฏขึ้นเพียงสร้างตัวแปรระบบใหม่โดยคลิกที่ใหม่จากนั้นเรียกดูไดเรกทอรีจนกว่าคุณจะพบเส้นทางการติดตั้งของ JDK ควรติดตั้ง JDK ในไฟล์โปรแกรมและคุณจะเห็นโฟลเดอร์ JAVA และภายในโฟลเดอร์คือ JDK และ JRE ... หากคุณเขียนโค้ดคุณต้องเลือก JDK !!! อย่าไปฟังใครว่า JRE จะพอเพียง ... ไม่! มันจะไม่! ไดเร็กทอรีที่เหมาะสมควรมีลักษณะเช่นนี้C: \ Program Files \ Java \ jdk1.8.0_144มันง่ายมาก!


2
@Stephan คำตอบที่มีอยู่แล้วให้ข้อมูลที่ฉันใช้เวลาในการให้ นั่นเป็นเหตุผลของคุณสำหรับการลงคะแนนหรือไม่? นี่คือปัญหาที่เกิดขึ้นกับหลาย ๆ หัวข้อเหล่านี้ ประการแรกเพียงเพราะหลักการพื้นฐานได้รับคำตอบไม่ได้หมายความว่าคำตอบนั้นถูกสร้างขึ้นอย่างดีหรือเป็นประโยชน์ คำตอบของฉันไม่เหมือนกับคำตอบก่อนหน้านี้เลย คำตอบที่ฉันให้มาพร้อมกับคำแนะนำที่แม่นยำ
nexogen.io
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.