ตัวแปรสภาวะแวดล้อมสำหรับการติดตั้ง java


205

วิธีการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ Java ใน Windows (classpath)?


2
ตัวแปรสภาพแวดล้อมใด classpath และ JAVA_HOME แพลตฟอร์มใด (Linux / Windows) โปรดอธิบายอย่างละเอียด
Wernsey

22
ฉันเป็นคนเดียวที่คิดว่ามันเป็นเรื่องง่อยเกินไปที่ตัวติดตั้ง java ไม่ได้อัพเดตตัวแปรสภาพแวดล้อมของเส้นทางโดยอัตโนมัติ
Thomas Eyde

2
@ThomasEyde - ปัญหาเฉพาะกับแนวคิดนั้นคือถ้าฉันต้องการ JVM หลาย ๆ อันบนเครื่องของฉัน - การตั้งค่าพา ธ อัตโนมัติจะทำให้เกิดปัญหา
Richard Le Mesurier

3
@Richard Le Mesurier: เพียงแค่มีช่องทำเครื่องหมาย "ตั้งค่าเป็นค่าเริ่มต้นใหม่ JVM" ในการติดตั้ง ...
Algoman

แสดงความคิดเห็นสำหรับการอ้างอิง
Asker123

คำตอบ:


395

Java SE Development Kit 8u112 บน Windows 7 หรือ 64 บิต

ตั้งค่าตัวแปรสภาพแวดล้อมของผู้ใช้ต่อไปนี้(== ตัวแปรสภาพแวดล้อมของตัวแปรผู้ใช้ประเภท)

  • JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112
  • JDK_HOME : %JAVA_HOME%
  • JRE_HOME : %JAVA_HOME%\jre
  • CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
  • PATH : your-unique-entries;%JAVA_HOME%\bin(ตรวจสอบให้แน่ใจว่า longish your-unique-entriesไม่มีการอ้างอิงอื่นใดไปยังโฟลเดอร์การติดตั้ง Java อื่น

หมายเหตุสำหรับผู้ใช้ Windows บนระบบ 64 บิต:

Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'

ขอให้สังเกตว่าตัวแปรสภาพแวดล้อมเหล่านี้มาจาก "ราก" JAVA_HOMEตัวแปรสภาพแวดล้อม สิ่งนี้ทำให้ง่ายต่อการอัพเดทตัวแปรสภาพแวดล้อมของคุณเมื่อทำการอัพเดต JDK เพียงชี้JAVA_HOMEไปที่การติดตั้งใหม่

มี blogpost อธิบายเหตุผลที่อยู่เบื้องหลังทั้งหมดเหล่านี้เป็นตัวแปรสภาพแวดล้อม

คำแนะนำเพิ่มเติม

  • เพิ่มตัวแปรสภาพแวดล้อมของผู้ใช้ ที่มีค่าJAVA_TOOL_OPTIONS -Dfile.encoding="UTF-8"เพื่อให้แน่ใจว่า Java (และเครื่องมือเช่นMaven ) จะทำงานกับCharset.defaultCharset()ของUTF-8(แทนการเริ่มต้นWindows-1252) นี้ได้บันทึกมากปวดหัวเมื่อ wirking ด้วยรหัสของตัวเองและของคนอื่นที่โชคร้ายมักจะถือว่า (สติ) การเข้ารหัสเริ่มต้นUTF-8
  • เมื่อมีการติดตั้ง JDK จะเพิ่มไปยังตัวแปรสภาพแวดล้อมของระบบ รายการPath C:\ProgramData\Oracle\Java\javapath;ฉันสังเกตเห็นโดยทั่วไปว่าลิงก์ในไดเรกทอรีนั้นไม่ได้รับการอัพเดตระหว่างการติดตั้ง JDK ดังนั้นจึงเป็นการดีที่สุดที่จะลบออกC:\ProgramData\Oracle\Java\javapath;จากPathตัวแปรสภาพแวดล้อมระบบเพื่อให้มีสภาพแวดล้อมที่สอดคล้องกัน

12
เป็นคำตอบที่ดีกว่า
Kimchi Man

1
คำตอบที่ดี. ฉันยังสร้างไดเรกทอรี junction ให้กับการติดตั้ง java ของฉันที่ฉันสามารถอัปเดตเมื่อใดก็ตามที่ฉันติดตั้งเวอร์ชันใหม่ ( mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91") ด้วยวิธีนี้เมื่อฉันใช้ cygwin หรือสิ่งที่ไม่สามารถอ่านตัวแปร env ของ windows ฉันยังคงมีวิธีการสลับรุ่นอย่างรวดเร็ว และง่ายต่อการจดจำเส้นทางที่สั้นกว่าโดยไม่มีรุ่นรอง
kghastie

ฉันพยายามตั้งค่าตัวแปร JAVA_ROOT_PATH แต่ JAVA_HOME ดูเหมือนจะไม่ชอบฉันที่ใช้ตัวแปรสภาพแวดล้อมใด ๆ เพื่อความคุ้มค่า มีเหตุผลสำหรับสิ่งนี้หรือไม่?
Eric

3
javapathเชื่อมโยงไดเรกทอรีและสัญลักษณ์ถูกสร้างขึ้นโดยการติดตั้ง JRE (ซึ่งเป็นกระบวนการที่ไม่จำเป็นเมื่อติดตั้ง JDK) ดังนั้นหากคุณไม่ได้ติดตั้ง JRE คุณจะไม่ได้สร้าง javapath โปรดทราบว่า%JAVA_HOME%\jreคำตอบของคุณคือ JRE ส่วนตัวของ JDK สำหรับการใช้คอมไพเลอร์ Java มันไม่เหมือนกับ JRE สาธารณะ นอกจากนี้โปรดทราบว่าตั้งแต่ 1.8u112 การติดตั้ง JRE ดูเหมือนว่าจะหยุดการสร้างลิงก์สัญลักษณ์javapathและสร้างฮาร์ดลิงก์ไปยัง. exes ..\javapath_target_nnnnnnn\*.exeแทน
Klitos Kyriacou

3
การตั้งค่าใช้งานได้ดีสำหรับฉัน เนื่องจากไม่มีโฟลเดอร์ jre ใน jdk 11 ฉันจะลบตัวแปร JRE_HOME รวมถึงค่า% JAVA_HOME% \ jre \ lib ในตัวแปร CLASSPATH สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ jdk 11 ที่ไม่มี
jre

66

ใน Windows inorder เพื่อตั้งค่า

ขั้นตอนที่ 1: คลิกขวาที่ MyComputer และคลิกที่คุณสมบัติ

ขั้นตอนที่ 2:คลิกที่แท็บขั้นสูง

ข้อความแสดงแทน

ขั้นตอนที่ 3:คลิกที่ตัวแปรสภาพแวดล้อม

ข้อความแสดงแทน

ขั้นตอนที่ 4:สร้างคลาสพา ธ ใหม่สำหรับ JAVA_HOME

ข้อความแสดงแทน

ขั้นตอนที่ 5:ป้อนชื่อตัวแปรเป็น JAVA_HOME และค่าไปยังเส้นทาง jdk bin ของคุณเช่น c: \ Programfiles \ Java \ jdk-1.6 \ bin และ

หมายเหตุให้แน่ใจว่าคุณเริ่มต้นด้วย.;ในค่าเพื่อไม่ให้เกิดความเสียหายกับตัวแปรสภาพแวดล้อมอื่น ๆ ที่ตั้งค่าไว้แล้ว

ข้อความแสดงแทน

ขั้นตอนที่ 6 : ทำตามขั้นตอนข้างต้นและแก้ไข Path ในตัวแปรระบบเพิ่มต่อไปนี้;c:\Programfiles\Java\jdk-1.6\binในคอลัมน์ค่า

ขั้นตอนที่ 7 : คุณเสร็จสิ้นการตั้งค่าตัวแปรสภาพแวดล้อมของคุณสำหรับ Java ของคุณเพื่อทดสอบมันไปที่พรอมต์คำสั่งและพิมพ์

 java   

ใครจะได้รับรายการเอกสารช่วยเหลือ

เพื่อให้แน่ใจว่าคอมไพเลอร์เป็นประเภทการตั้งค่าใน cmd

  javac

ผู้ที่จะได้รับรายการที่เกี่ยวข้องกับ javac

หวังว่านี่จะช่วยได้!


1
คำอธิบายที่ดี สิ่งหนึ่งที่เล็ก ๆ ในขั้นตอนที่ 6: ไม่ต้องพิมพ์$javaหรือ$javacแต่เพียงหรือjava javac
Jesper

1
และโปรดทราบว่าคุณต้องเพิ่มไดเรกทอรีถัง JDK ไปยังPATHตัวแปรสภาพแวดล้อม เพียงแค่การตั้งค่าJAVA_HOMEไม่เพียงพอ
Jesper

1
ขอโทษตั้งแต่ฉันเป็นคนรักลินุกซ์ ฉันพลาดมันจะเปลี่ยนขอบคุณ
Srinivas MV

3
1. ใช้แบ็กสแลชใน WINDOWS 2. อย่าเริ่มต้นเส้นทางด้วย ".;" 3. เพิ่ม% JAVA_HOME% \ bin ลงในพา ธ เช่นคุณสามารถเปลี่ยน java_home ในภายหลังโดยไม่ต้องเปลี่ยนพา ธ
raudi

1
@Wanacoffee อัพเดทการเปลี่ยนแปลงของแบ็กสแลช
Srinivas MV

27

--- เพื่อกำหนดเส้นทางจาวา ---

มีสองวิธีในการตั้งค่าเส้นทาง Java

A. ชั่วคราว

  1. เปิด cmd
  2. เขียนเป็นคำสั่ง: javac

หากไม่ได้ติดตั้ง java คุณจะเห็นข้อความ:

javac ไม่ได้รับการยอมรับเป็นคำสั่งภายในหรือภายนอก operable โปรแกรมหรือแฟ้มชุด

  1. เขียนเป็นคำสั่ง: set path=C:\Program Files\Java\jdk1.8.0_121\bin
  2. เขียนเป็นคำสั่ง: javac

คุณสามารถตรวจสอบเส้นทางที่ตั้งไว้หากไม่มีการยกข้อผิดพลาด

เป็นสิ่งสำคัญที่จะต้องทราบว่าการเปลี่ยนแปลงเหล่านี้เป็นเพียงชั่วคราวจากโปรแกรมที่เปิดตัวจาก cmd นี้

หมายเหตุ: คุณอาจต้องเรียกใช้บรรทัดคำสั่งในฐานะผู้ดูแลระบบ

B. ถาวร

  1. คลิกขวาที่ "My computer" และคลิกที่Properties
  2. คลิกที่ "การตั้งค่าระบบขั้นสูง"
  3. คลิกที่ "ตัวแปรสภาพแวดล้อม"
  4. คลิกที่แท็บใหม่ของตัวแปรผู้ใช้
  5. เขียนpathในvariable name
  6. คัดลอกเส้นทางของbinโฟลเดอร์
  7. วางเส้นทางของbinโฟลเดอร์ในvariable value
  8. คลิกตกลง

ขณะนี้มีการตั้งค่าเส้นทางอย่างถาวร

เคล็ดลับ: เครื่องมือ "Rapid Environment Editor" (ฟรีแวร์) เหมาะสำหรับการแก้ไขตัวแปรสภาพแวดล้อมและมีประโยชน์ในกรณีนั้น

เคล็ดลับที่ 2: นอกจากนี้ยังมีวิธีที่เร็วกว่าในการเข้าถึงตัวแปรสภาพแวดล้อม: กดปุ่มWin+ Rวางต่อไปนี้%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariablesแล้วกดENTER


17

ใน Windows 7 คลิกขวาบนคอมพิวเตอร์ -> Properties -> ขั้นสูงการตั้งค่าระบบ ; จากนั้นในขั้นสูงแท็บคลิกตัวแปรของสภาพแวดล้อม ... -> ตัวแปรของระบบ -> ใหม่ ...

ตั้งชื่อตัวแปรJAVA_HOMEและค่าของระบบใหม่C:\Program Files\Java\jdk1.7.0_79(ขึ้นอยู่กับพา ธ การติดตั้ง JDK ที่แตกต่างกัน)

จากนั้นเลือกPathตัวแปรระบบและคลิกแก้ไข ... เก็บชื่อตัวแปรเป็นPathและผนวกC:\Program Files\Java\jdk1.7.0_79\bin;หรือ%JAVA_HOME%\bin;(ทั้งสองมีความหมายเหมือนกัน) กับค่าตัวแปร

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

เปิดพรอมต์คำสั่งของ Windows (ปุ่ม Windows + R-> Enter cmd-> ตกลง ) และตรวจสอบสิ่งต่อไปนี้:

java -version

คุณจะเห็นสิ่งนี้:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

จากนั้นตรวจสอบสิ่งต่อไปนี้:

javac -version

คุณจะเห็นสิ่งนี้:

javac 1.7.0_79

14

JDK คำแนะนำการติดตั้งอธิบายว่าวิธีการตั้งค่าPATHสำหรับ Windows รุ่นต่างๆ

ปกติคุณไม่ควรตั้งค่าCLASSPATHตัวแปรสภาพแวดล้อม หากคุณไม่ได้ตั้งค่า Java จะค้นหาในไดเรกทอรีปัจจุบันเพื่อค้นหาคลาส คุณสามารถใช้-cpหรือ-classpathสวิตช์บรรทัดคำสั่งด้วยหรือjavajavac


4
+1 สำหรับ "โดยปกติคุณไม่ควรตั้งค่าตัวแปรสภาพแวดล้อม CLASSPATH"
BalusC

5

ฉันจะอธิบายที่นี่ด้วยภาพสำหรับ Windows 7

โปรดทำตามขั้นตอนต่อไปนี้:

ขั้นตอนที่ 1: ไปที่ "เริ่มต้น" และเข้าสู่คุณสมบัติ "My Computer"

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

ขั้นตอนที่ 2: ไปที่ "การตั้งค่าระบบขั้นสูง" และคลิกที่มัน

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

ขั้นตอนที่ 3: ไปที่ "Start" และเข้าไปยังคุณสมบัติ "My Computer"

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

ขั้นตอนที่ 4: กล่องโต้ตอบสำหรับตัวแปรสภาพแวดล้อมจะเปิดดังนี้:

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

ขั้นตอนที่ 5: ไปที่เส้นทางและคลิกที่แก้ไข

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

ขั้นตอนที่ 6: ใส่เส้นทางของ JDK ของคุณทุกที่ที่มันอยู่ในถังขยะอย่างที่คุณเห็นในภาพ เพิ่มเส้นทางจาก sdk ของ Android ไปยังเครื่องมือแพลตฟอร์ม:

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


3

ในบริบทการเขียนโปรแกรมคุณสามารถรันคำสั่ง SET (SET classpath = c: \ java) หรือคลิกขวาบนคอมพิวเตอร์ของคุณ> คุณสมบัติ> ขั้นสูง> ตัวแปรสภาพแวดล้อม

ในไฟล์แบตช์คุณสามารถใช้

SET classpath=c:\java
java c:\myapplication.class

ไม่เข้าใจบรรทัดที่สอง มันหมายความว่าอะไร?
St.Shadow

3

สำหรับผู้ใช้ Windows 7:

คลิกขวาที่ My Computer เลือก Properties; ขั้นสูง การตั้งค่าระบบ; ขั้นสูง ตัวแปรสภาพแวดล้อม จากนั้นค้นหา PATH ในกล่องที่สองและตั้งค่าตัวแปรตามที่แสดงในภาพด้านล่าง

ตัวแก้ไขตัวแปร PATH



2

ตั้งค่าตัวแปรสภาพแวดล้อม java ใน Centos / Linux

/ home / vi .bashrc

ส่งออก JAVA_HOME = / opt / oracle / product / java / jdk1.8.0_45

ส่งออก PATH = $ JAVA_HOME / bin: $ PATH

java -version


2

เก็บไว้ในใจว่า%CLASSPATH%ตัวแปรสภาพแวดล้อมละเว้นเมื่อคุณใช้ java / javac ในการรวมกันกับหนึ่ง-cp, -classpathหรือ-jarข้อโต้แย้ง มันจะถูกละเว้นใน IDE เช่น Netbeans / Eclipse / IntelliJ / etc มันถูกใช้เฉพาะเมื่อคุณใช้ java / javac โดยไม่มีข้อโต้แย้งดังกล่าวข้างต้น

ในกรณีของไฟล์ JAR คลาสพา ธ จะถูกกำหนดเป็นclass-pathรายการในไฟล์ manifest.mf สามารถกำหนดเซมิโคลอนคั่นและสัมพันธ์กับรูทของไฟล์ JAR

ในกรณีของ IDE คุณมีสิ่งที่เรียกว่า 'build path' ซึ่งก็คือ classpath ที่ใช้ทั้งในคอมไพล์ไทม์และรันไทม์ ในการเพิ่มไลบรารี่ภายนอกคุณมักจะวางไฟล์ JAR ในโฟลเดอร์ (สร้างโดย IDE หรือสร้างขึ้นเอง) libของโปรเจ็กต์ที่เพิ่มเข้าไปในพา ธ บิลด์ของโปรเจ็กต์


@Balus เขาเป็น begginer ที่พยายามตั้งค่า java Environment บน Windows PC
Srinivas MV

1
เผง คนที่จะสับสนอย่างมากเมื่อเขาค้นพบว่า classpath ที่เขากำหนดค่าใช้งานไม่ได้กับไฟล์ JAR และ IDE เพียงแค่คำเตือนในสถานที่ของมัน :)
BalusC

1

เพื่อการปรับใช้ที่ดีขึ้นเพื่อตั้งค่า classpath ให้ตรงและรักษาสภาพแวดล้อม หรือ at * .bat (เหมือนกันสำหรับ linux แต่มีสัญลักษณ์ตัวแปรที่ถูกต้อง):

CLASSPATH="c:\lib;d:\temp\test.jar;<long classpath>"
CLASSPATH=%CLASSPATH%;"<another_logical_droup_of_classpath" 
java -cp %CLASSPATH% com.test.MainCLass

หรือที่บรรทัดคำสั่งหรือ * .bat (สำหรับ * .sh ด้วย) หาก classpath id ไม่ยาวมาก:

java -cp "c:\lib;d:\temp\test.jar;<short classpath>"

1

สำหรับ Windows:

  • คลิกขวาที่ 'My Computers' และเปิด 'Properties'
  • ใน Windows Vista หรือ Windows 7 ไปที่ "การตั้งค่าระบบขั้นสูง" ไปที่ขั้นตอนถัดไป
  • ไปที่ 'แท็บขั้นสูง' และคลิกที่Environment Variablesปุ่ม
  • เลือก 'เส้นทาง' ภายใต้รายการ 'ตัวแปรระบบ' และกดEditและเพิ่มC:\Program Files\java\jdk\binหลังจากเครื่องหมายอัฒภาค
  • ตอนนี้คลิกที่ปุ่ม 'ใหม่' ภายใต้ตัวแปรระบบและป้อน 'JAVA_HOME' เป็นชื่อตัวแปรและเส้นทางไปยังไดเรกทอรีบ้าน jdk (เช่น 'C: \ Program Files \ Java \ jdk1.6.0_24' หากคุณกำลังติดตั้งจาวารุ่น 6. ไดเรกทอรี ชื่ออาจมีการเปลี่ยนแปลงด้วยรุ่น diff. java) เป็น variable_value

1
  1. ดาวน์โหลด JDK
  2. ติดตั้ง
  3. จากนั้นตั้งค่าตัวแปรสภาพแวดล้อมเช่นนี้:
  4. คลิกที่แก้ไข

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

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