การเปลี่ยนเวอร์ชั่นปัจจุบันของ Java ภายใน Windows


16

ฉันทำงานในสภาพแวดล้อม Windows XP และเพิ่งติดตั้ง java 1.6 เนื่องจากแอปพลิเคชันต้องการ

อย่างไรก็ตามฉันไม่ต้องการให้นี่เป็นรุ่นเริ่มต้นของจาวาที่จะใช้ ฉันจะตั้งค่าอย่างไรเพื่อให้คำสั่ง java -version จะส่งคืน 1.5.x


ฉันจะดูpathตัวแปรสภาพแวดล้อม echo %PATH%คุณสามารถตรวจสอบได้ในบรรทัดคำสั่งด้วย: นี่คือโฟลเดอร์เริ่มต้นที่มีการค้นหาไบนารี หากคุณพบเส้นทางไปยัง JAVA คุณสามารถปรับได้อย่างง่ายดายในการตั้งค่าระบบ
Rekin

คำตอบ:


21

เปลี่ยนตัวแปร PATH ของคุณเพื่อให้มีตำแหน่งของไดเร็กทอรี jdk5 / bin:

  1. เริ่ม -> แผงควบคุม -> ระบบ -> ขั้นสูง
  2. คลิกที่ตัวแปรสภาพแวดล้อมภายใต้ตัวแปรของระบบค้นหาเส้นทางและคลิกที่มัน
  3. ในหน้าต่างแก้ไขให้ปรับเปลี่ยน PATH โดยเพิ่มตำแหน่งของไดเร็กทอรี jdk5 / bin ของคุณไปยังจุดเริ่มต้น หากคุณไม่มี PATH ของรายการคุณอาจเลือกที่จะเพิ่มตัวแปรใหม่และเพิ่ม PATH เป็นชื่อและที่ตั้งของไดเรกทอรีเป็นค่า
  4. ปิดหน้าต่าง.
  5. เปิดหน้าต่างพรอมต์คำสั่งอีกครั้งและเรียกใช้ java -version

นั่นไม่ได้ผล jre bin ไม่เคยเป็นส่วนหนึ่งของเส้นทางมาก่อนดังนั้นจะต้องตั้งค่าไว้ที่อื่น
Dunc

9
เนื่องจากเมื่อคุณติดตั้ง Java ช่องเก็บจะถูกใส่ใน C: \ WINDOWS \ system32 ซึ่งเป็นส่วนหนึ่งของ PATH ของคุณ คุณควรเพิ่มไดเร็กทอรี jre / bin ไว้ที่ตำแหน่งเริ่มต้นของ PATH
dogbane

ขออภัยไม่พบจุดเริ่มต้น ขอบคุณ
Dunc

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

17

ในเชลล์คำสั่ง:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

ที่จะตั้งค่าสภาพแวดล้อมในเชลล์คำสั่งชั่วคราว Maven, Ant, ฯลฯ จะรับ Java เวอร์ชันใหม่ของคุณโดยไม่ต้องไปที่ Control Panel ซ้ำ ๆ

เครื่องมือเช่น Eclipse ควรเลือก JDK ที่จะใช้ในเครื่องมือกำหนดค่าของตนเองเพื่อใช้ภายในสภาพแวดล้อมของพวกเขา


6

Java 8 สร้างทางลัดสามทางบน \ ProgramData \ Oracle \ Java \ javapath ที่ชี้ไปที่ Java8 java.exe, javaw.exe และ javaws.exe ล่าสุดจากนั้นวาง \ ProgramData \ Oracle \ Java \ javapath ที่ด้านหน้าของ PATH เพื่อให้ ไม่ว่าคุณจะทำอะไรกับตัวแปรสภาวะแวดล้อม JAVA_PATH คุณยังคงได้รับ Java 8 ล่าสุด

คุณสามารถรับรอบนี้โดย

1) เปลี่ยนชื่อ \ ProgramData \ Oracle \ Java \ javapath เป็นอย่างอื่น (\ ProgramData \ Oracle \ Java \ javapath8 เป็นต้น)

2) สร้างโฟลเดอร์ javapath ใหม่ภายใต้ Java และ

3) การสร้างทางลัดที่คุณต้องการ

เพียงคืนค่า javapath เมื่อคุณทำกับเวอร์ชันเก่าและคุณได้รับ Java 8 กลับมา


1
ดีคุณสามารถวางตำแหน่ง Java เก่าของคุณในเส้นทางในสถานที่แรกและมันจะชนะ
leonbloy

สั้น แต่ตรงประเด็นคำตอบที่ดีมากอันนี้อธิบายเพิ่มเติมโดยเฉพาะเกี่ยวกับวิธีสร้างjavapathโฟลเดอร์หลายรุ่นโดยใช้ลิงก์สัญลักษณ์เพื่อให้คุณสามารถสลับได้โดยไม่ต้องเสียเวลาระหว่างรุ่นและสิ่งที่ขาดหายไปที่นี่ เพื่อหลีกเลี่ยงการรีบูตหลังการเปลี่ยนแปลงด้วย ดูstackoverflow.com/questions/27996603

3

มีสองวิธีในการแก้ไขปัญหานี้:

1) เปลี่ยน PATH (ตามที่มีคนพูดไปแล้ว) สิ่งสำคัญในการแก้ปัญหานี้คือการตั้งค่า JAVA_HOME ไว้หน้าเส้นทางของ windows นี้เป็นเพราะภายใต้โฟลเดอร์หน้าต่างมี java.exe ว่าการเปลี่ยนเส้นทางไปยังJRE ติดตั้งที่ผ่านมา

2) Regedit คีย์ HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment มีเวอร์ชันที่ติดตั้งล่าสุดที่ java.exe ในโฟลเดอร์ windows เปลี่ยนเส้นทางไป หากคุณเปลี่ยนสิ่งนี้เป็นเวอร์ชันที่ติดตั้งไว้ก่อนหน้านี้ทุกอย่างควรเป็นแบบพีช (อย่างน้อยฉันคิดว่านี่เป็นคีย์รีจิสทรีที่ถูกต้อง)


1

JRE เวอร์ชันล่าสุดที่คุณมีความสำคัญเหนือกว่าการตั้งค่า PATH ใด ๆ ดังนั้นเพื่อให้แน่ใจว่าถอนการติดตั้ง 1.6 JRE ถ้าคุณไม่ต้องการให้มันเป็นหลัก คุณสามารถติดตั้ง JDK ได้ไม่ จำกัด จำนวน


1

เนื่องจาก Java รองรับ-versionตัวเลือกบรรทัดคำสั่งคุณสามารถใช้เพื่อเลือกรุ่นที่ต้องการใช้งานเช่น:

java -version:1.7 -jar [path to jar file]

จะเรียกใช้แอปพลิเคชั่น jar ใน Java 1.7 หากติดตั้งแล้ว

สำหรับรายละเอียดเพิ่มเติมโปรดดูเอกสารของออราเคิล


@Jawa java -version:1.7 -jar [path to jar file]ไม่รองรับอีกต่อไป คุณอาจต้องไปตามเส้นทางของเส้นทาง
Adeola Ojo

0

สร้างไฟล์“ setjava.bat” และบันทึกไฟล์นี้ด้วยเนื้อหาด้านล่างและอย่าลืมเปลี่ยน JAVA_PATH สำหรับระบบของคุณ นอกจากนี้อย่าลืมบันทึกไฟล์นี้ด้วยนามสกุล. bat

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

ตอนนี้คุณเพียงแค่เรียกใช้สคริปต์นี้ด้วยสิทธิ์ผู้ดูแลระบบ

ตัวอย่าง: setjava 8, setjava 7

ตรวจสอบลิงค์นี้สำหรับรายละเอียดเพิ่มเติม

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