วิธีการตั้งค่าเส้นทางสภาพแวดล้อม Java ใน Ubuntu


164

ฉันเพิ่งติดตั้ง JDK ใน Ubuntu ด้วยsudo apt-get install openjdk-6-jdkคำสั่งหลังจากการติดตั้งอยู่ที่ไหนbinไดเรกทอรีJava ? และฉันจะตั้งค่าเส้นทางสภาพแวดล้อมสำหรับไดเรกทอรีนั้นได้อย่างไร ฉันมีประสบการณ์เล็กน้อยกับ Ubuntu ทุกคนสามารถให้คำแนะนำหรือแนะนำเว็บไซต์ที่ดีเพื่อการอ้างอิงได้บ้าง

คำตอบ:


201

ตั้งค่าตัวแปรสภาพแวดล้อมดังนี้

แก้ไขไฟล์ Path ระบบ / etc / profile

sudo gedit /etc/profile

เพิ่มบรรทัดต่อไปนี้ในตอนท้าย

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

จากนั้นออกจากระบบและเข้าสู่ระบบ Ubuntu เพื่อตั้งค่าเส้นทาง ...


19
ทำไมส่งออก JRE_HOME
whossname

3
ไม่ทำงานสำหรับฉันและรุ่นก่อนหน้ายังคงเป็นค่าเริ่มต้น ฉันเปลี่ยนลำดับของพา ธ เป็นexport PATH=${JAVA_HOME}/bin:${PATH} และเวอร์ชันได้รับการอัพเดต ฉันคิดว่าซ้ายไปขวาจัดลำดับความสำคัญการทำงานที่นี่
Ridhuvarshan

2
แก้ไขได้แล้วที่นี่stackoverflow.com/questions/24641536/…
1420482

1
.bash_profile และ. bashrc นั้นจำเพาะกับ bash ในขณะที่. profile จะอ่านโดยเชลล์จำนวนมากในกรณีที่ไม่มีไฟล์ปรับแต่งเชลล์เฉพาะของตนเอง / etc / bash_profile (fallback / etc / profile) ถูกอ่านก่อนผู้ใช้. profile สำหรับการกำหนดค่าทั่วทั้งระบบ
Ryan Augustine

นอกจากนี้คุณจะต้องออกจากระบบและลงชื่อเข้าใช้เพื่อให้การเปลี่ยนแปลงมีผลสำหรับ / etc / profile แต่ปิดและเปิดเทอร์มินัลใหม่หากคุณเปลี่ยน ~ / .bashrc
Ryan Augustine

78

โดยทั่วไปแล้ว Java จะถูกติดตั้งในการ/usr/java ค้นหาเวอร์ชันที่คุณมีแล้วทำสิ่งต่อไปนี้:

สมมติว่าคุณใช้ bash (ถ้าคุณเพิ่งเริ่มฉันแนะนำให้ bash มากกว่า shell อื่น ๆ ) คุณสามารถพิมพ์ bash เพื่อเริ่ม

แก้ไข~/.bashrcไฟล์ของคุณและเพิ่มเส้นทางดังนี้:

สำหรับเช่น vi~/.bashrc

แทรกบรรทัดต่อไปนี้:

export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin

หลังจากที่คุณบันทึกการเปลี่ยนแปลงให้ออกและรีสตาร์ททุบตีของคุณหรือเพียงแค่พิมพ์ในทุบตีเพื่อเริ่มเปลือกใหม่

พิมพ์exportเพื่อให้แน่ใจว่าเส้นทางถูกต้อง

พิมพ์java -versionเพื่อให้แน่ใจว่า Java สามารถเข้าถึงได้


ที่สมบูรณ์แบบ! ขอบคุณ. หมายเหตุ: คุณอาจต้องการลบ openJDK เริ่มต้นออกจากระบบของคุณตามที่ปรากฏเป็นครั้งแรกในเส้นทางทั่วโลก ดังนั้นหลังจากโหลดสคริปต์ข้างต้นแล้วคุณจะ pic-up "javac" ไม่ใช่ java เท่านั้นเนื่องจาก openjk-jre เริ่มต้น ~ sudo apt-get remove openjdk- * ~
kholofelo Maloma

ฉันมี probelm ด้วยฉันลองทุกวิธีในการอัปเดต java แต่ถึงเวลาที่รุ่นของฉันคือ jdk1.7 แต่ฉันตั้งค่าพา ธ ไปที่ jdk1.8
Vonton

32

Ubuntu ติดตั้ง openjdk6 ไปยัง/usr/lib/jvm/java-6-openjdkเส้นทาง /usr/lib/jvm/java-6-openjdk/binดังนั้นคุณจะต้องอยู่ในถัง โดยปกติ classpath จะถูกตั้งค่าโดยอัตโนมัติสำหรับ java และไฟล์ที่เกี่ยวข้อง


23

หากต้องการตั้งค่า JAVA_HOME / PATH สำหรับผู้ใช้คนเดียวให้ลงชื่อเข้าใช้บัญชีของคุณและเปิดไฟล์. bash_profile

$ vi ~/.bash_profile

ตั้งค่า JAVA_HOME ดังนี้โดยใช้การเอ็กซ์พอร์ตไวยากรณ์ JAVA_HOME=<path-to-java>ดังต่อไปนี้การส่งออกโดยใช้ไวยากรณ์ หากเส้นทางของคุณถูกตั้งค่าเป็น /usr/java/jdk1.5.0_07/bin/java ให้ตั้งค่าดังนี้:

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java

ตั้งค่า PATH ดังนี้:

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin

คุณสามารถแทนที่ /usr/java/jdk1.5.0_07 ได้ตามการตั้งค่าของคุณ บันทึกและปิดไฟล์ เพียงออกจากระบบและลงชื่อกลับเพื่อดูการเปลี่ยนแปลงใหม่ หรือพิมพ์คำสั่งต่อไปนี้เพื่อเปิดใช้งานการตั้งค่าเส้นทางใหม่ทันที:

$ source ~/.bash_profile

หรือ

$ . ~/.bash_profile

ยืนยันการตั้งค่าใหม่:

$ echo $JAVA_HOME
$ echo $PATH

คำแนะนำ: ใช้คำสั่งต่อไปนี้เพื่อค้นหาพา ธ ที่แน่นอนที่สามารถเรียกทำงานจาวาได้ภายใต้ UNIX / Linux:

$ which java

โปรดทราบว่าไฟล์ ~ / .bashrc คล้ายกันยกเว้นว่า ~ / .bash_profile รันเฉพาะสำหรับ Bash login shells และ. bashrc ทำงานสำหรับ Bash shell ใหม่ทุกตัว

หากต้องการตั้งค่า JAVA_HOME / PATH สำหรับผู้ใช้ทั้งหมดคุณต้องตั้งค่าการกำหนดค่าส่วนกลางในไฟล์/etc/profileOR /etc/bash.bashrcสำหรับผู้ใช้ทั้งหมด:

# vi /etc/profile

ตั้งค่าตัวแปร PATH / JAVA_PATH ถัดไปดังนี้:

export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin

บันทึกและปิดไฟล์ คุณต้องพิมพ์คำสั่งต่อไปนี้อีกครั้งเพื่อเปิดใช้งานการตั้งค่าเส้นทางทันที:

# source /etc/profile

หรือ

# . /etc/profile

1
คุณแน่ใจคุณควรจะชุดJAVA_HOMEกับจาวาไบนารี?
คนงานทุกคนสำคัญ

8

หากคุณมีการเปิดใช้งาน openJDK เท่านั้นคุณควรอัพเดทลิงค์ของคุณ

sudo update-alternatives --config java

หลังจากนี้

$gedit ~/.bashrc

เพิ่มบรรทัดต่อไปนี้ในไฟล์

JAVA_HOME=/usr/lib/jvm/YOUR_JAVA_VERSION export PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME

คุณสามารถรับเวอร์ชัน Java ด้วย

java -version

7

ในการตั้งค่าขอบเขตที่กว้างของระบบคุณจำเป็นต้องใช้

ไฟล์/ etc / environmentsudo gedit /etc/environment

เป็นตำแหน่งที่คุณสามารถกำหนดตัวแปรสภาพแวดล้อมใด ๆ มันสามารถมองเห็นได้ในขอบเขตระบบทั้งหมด หลังจากระบบถูกกำหนดตัวแปรจะต้องเริ่มต้นใหม่

ตัวอย่าง:

sudo gedit /etc/environment

เพิ่มไลค์ดังต่อไปนี้:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/opt/jdk1.6.0_45/"

นี่คือเว็บไซต์ที่คุณสามารถค้นหาเพิ่มเติมได้ที่: http://peesquare.com/blogs/environment-variable-setup-on-ubuntu/


หากคุณอัปเดตรายการใด ๆ ที่จะโหลดโดยใช้source /etc/environmentคำสั่ง
Waleed Abdalmajeed

6

มันควรจะใส่ java ในเส้นทางของคุณอาจจะอยู่ใน / usr / bin / java วิธีที่ง่ายที่สุดในการค้นหาคือเปิดคำและพิมพ์ "which java"


6

คุณต้องตั้งค่าตัวแปร $ JAVA_HOME

ในกรณีของฉันขณะติดตั้ง Maven ฉันต้องตั้งค่าให้ติดตั้งที่ JDK

ก่อนอื่นให้ค้นหาตำแหน่งที่ติดตั้ง JAVA:

$ whereis java

java: / usr / bin / java / usr / share / java /usr/share/man/man1/java.1.gz

ขุดลึกลงไป -

$ ls -l /usr/bin/java

lrwxrwxrwx 1 รูทราก 46 Aug 25 2018 / etc / ทางเลือก / java -> / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java Dig ลึก:

$ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

-rwxr-xr-x 1 รูทราก 6464 มี.ค. 14 18:28 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java

เนื่องจากไม่มีการอ้างอิงไปยังไดเรกทอรีอื่นเราจะใช้สิ่งนี้

เปิด / etc / environment โดยใช้ nano

$ sudo nano /etc/environment

ผนวกบรรทัดต่อไปนี้

JAVA_HOME = / usr / lib / JVM / java-1.8.0-OpenJDK-amd64

ส่งออก JAVA_HOME

โหลดเส้นทางใหม่โดยใช้

$. /etc/environment

ตอนนี้

$ echo $JAVA_HOME

นี่คือผลลัพธ์ของคุณ:

/usr/lib/jvm/java-1.8.0-openjdk-amd64

แหล่งข้อมูลที่ฉันอ้างถึง:

https://askubuntu.com/a/175519

https://stackoverflow.com/a/23427862/6297483


4
  • เปิดเทอร์มินัล ( Ctrl+ Alt+ t)
  • ชนิด

    sudo gedit .bashrc 
  • ใส่รหัสผ่านของผู้ใช้ Ubuntu
  • ไปที่บรรทัดสุดท้ายของไฟล์
  • พิมพ์รหัสด้านล่างในบรรทัดใหม่

    export JAVA_HOME=enter_java_path_here
    export PATH=$JAVA_HOME/bin:$PATH
    eg: export JAVA_HOME=/home/pranav/jdk1.8.0_131
        export PATH=$JAVA_HOME/bin:$PATH
  • บันทึกไฟล์
  • ชนิด

    source ~/.bashrc

    ใน terminal

  • เสร็จสิ้น

4
  1. อัปเดตbashrcไฟล์ที่จะเพิ่มJAVA_HOME

    sudo nano ~/.bashrc

  2. เพิ่มJAVA_HOMEไปยังbashrcไฟล์

    export JAVA_HOME=/usr/java/<your version of java>
    export PATH=${PATH}:${JAVA_HOME}/bin

  3. ตรวจสอบให้แน่ใจว่า Java สามารถเข้าถึงได้

    java -version

  4. ในกรณีการติดตั้งด้วยตนเองของ JDK หากคุณมีข้อผิดพลาดดังแสดงด้านล่าง

    เกิดข้อผิดพลาดระหว่างการเริ่มต้นของ VM
    java / lang / NoClassDefFoundError: java / lang / Object
    
  5. ดำเนินการคำสั่งต่อไปนี้ในไดเร็กทอรี JAVA_HOME / lib ของคุณ:

    unpack200 -r -v -l "" tools.pack tools.jar

  6. ดำเนินการคำสั่งต่อไปนี้ใน JAVA_HOME / jre / lib ของคุณ

    ../../bin/unpack200 rt.pack rt.jar ../../bin/unpack200 jsse.pack jsse.rar ../../bin/unpack200 charsets.pack charsets.jar

  7. ตรวจสอบให้แน่ใจว่า Java สามารถเข้าถึงได้

    java -version


4

วิธีติดตั้งแพ็คเกจ Java:

ติดตั้งจาวาเวอร์ชั่น / เวอร์ชั่นที่ต้องการโดยใช้แพ็คเกจ ubuntu อย่างเป็นทางการซึ่งได้รับการจัดการโดยใช้ทางเลือก:
sudo apt install -y openjdk-8-jdk
หรือ / และรุ่นอื่น ๆ : sudo apt install -y openjdk-11-jdk

คำตอบข้างต้นนั้นถูกต้องเฉพาะเมื่อคุณมีเพียงหนึ่งเวอร์ชันสำหรับซอฟต์แวร์ทั้งหมดในเครื่องของคุณและคุณสามารถข้ามโดยใช้ทางเลือกการอัปเดต ดังนั้นหนึ่งสามารถ hardcode อย่างรวดเร็วใน. bashrc หรือสถานที่อื่น ๆ :
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
แต่มันไม่ดีต่อสุขภาพในภายหลังคุณอาจเปลี่ยนรุ่น

วิธีที่ถูกต้องในการตั้งค่า JAVA_HOME (และอาจเป็นทางเลือก JAVA_SDK, JAVA_JRE)

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

นี่คือคำแนะนำสำหรับทั้งสอง: เฉพาะบัญชียูนิกซ์ที่เฉพาะเจาะจงหรือสำหรับทุกบัญชี (ระดับเครื่อง)

1. สำหรับบัญชียูนิกซ์ที่ระบุเท่านั้น:

ใช้สิ่งนี้หากคุณไม่มีสิทธิ์ใช้งานที่ระดับเครื่อง

cat <<'EOF' >>~/.bashrc

export JAVA_HOME=$(update-alternatives --query java | grep Value | cut -d" " -f2 | sed 's!\(\/.*\)jre\(.*\)!\1!g')
export JDK_HOME=${JAVA_HOME}
export JRE_HOME=${JDK_HOME}/jre/

EOF

2. ในการทำที่ระดับเครื่องและสำหรับเชลล์ bourne ทั้งหมดคุณต้องมี 2 ขั้นตอน:

2.a

cat <<'EOF' | sudo tee /etc/profile.d/java_home_env.sh >/dev/null

export JAVA_HOME=$(update-alternatives --query java | grep Value | cut -d" " -f2 | sed 's!\(\/.*\)jre\(.*\)!\1!g')
export JDK_HOME=${JAVA_HOME}
export JRE_HOME=${JDK_HOME}/jre/

EOF

เนื่องจากเชลล์ของคุณอาจไม่ได้ตั้งค่าแบบโต้ตอบตามค่าเริ่มต้นคุณอาจต้องการทำเช่นนี้ด้วย:
2.b

cat <<'EOF' | sudo tee -a /etc/bash.bashrc >/dev/null
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
EOF

PS: ไม่จำเป็นต้องอัปเดต $ PATH เนื่องจากทางเลือกการอัปเดตจะดูแลลิงก์ไปยัง / usr / bin /
เพิ่มเติมเกี่ยวกับ: https://manpages.ubuntu.com/manpages/trusty/man8/update-alternatives.8.html


2

ให้ฉันลดความซับซ้อนให้ดาวน์โหลด JDK ก่อนจากเว็บไซต์ Oracle: ลิงค์

2] จากนั้นแตกไฟล์

3] สร้างโฟลเดอร์ (jvm) ใน / usr / lib / ie / usr / lib / jvm

4] ย้ายโฟลเดอร์ที่แยกออกมาจาก jdk ไปที่ / usr / lib / jvm /

* หมายเหตุ: ใช้เทอร์มินัล, sudo, คำสั่ง mv เช่น sudo mv

5] สร้างไฟล์. sh ที่ /etc/profile.d/ เช่น: /etc/profile.d/myenvvar.sh

6] ในประเภทไฟล์. sh

ส่งออก JAVA_HOME = / usr / lib / jvm / jdk1.7.0

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

* หมายเหตุ: ใช้เทอร์มินัล gedit และ sudo เช่น: sudo gedit myenvvar.sh

7] ปิดเครื่องคอมพิวเตอร์หลังจากทำตามขั้นตอนทั้งหมดแล้วทำการรีสตาร์ท

8] Open Terminal แล้วพิมพ์

java -version

9] ตรวจสอบผลลัพธ์จากนั้นพิมพ์

echo $ JAVA_HOME

10] ตรวจสอบผลลัพธ์และมีความสุข :)


JAVA_HOME ของฉันถูกตั้งค่าเป็น /etc/profile.d/maven.sh ขอบคุณ.
Fid

2

ขั้นตอนที่ 1:

sudo gedit ~/.bash_profile

ขั้นตอนที่ 2:

JAVA_HOME=/home/user/tool/jdk-8u201-linux-x64/jdk1.8.0_201
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

ขั้นที่ 3:

source ~/.bash_profile

1

เปิด jdk ครั้งเดียวติดตั้งอยู่โดยทั่วไปใน / usr / lib / java-6-openjdk ตามปกติคุณจะต้องตั้ง JAVA_HOME, calsspath และ Path ใน ubuntu 11.04 มีไฟล์สภาพแวดล้อมอยู่ใน / etc ที่คุณต้องตั้งค่าทั้งหมด สามเส้นทาง จากนั้นคุณจะต้องเริ่มระบบของคุณใหม่เพื่อให้การเปลี่ยนแปลงมีผล ..

นี่คือไซต์ที่จะช่วยคุณรอบ ๆ http://aliolci.blogspot.com/2011/05/ubuntu-1104-set-new-environment.html


1

สิ่งที่คุณต้องทำตอนนี้คือการตั้งค่า“JAVA_HOME”และ“PATH”ตัวแปรสภาพแวดล้อมแล้วคุณจะทำ ป้อนคำสั่งต่อไปนี้เพื่อตั้งค่าตัวแปรสภาพแวดล้อมของคุณ ตรวจสอบให้แน่ใจว่าตัวแปรสภาพแวดล้อมของคุณชี้ไปที่การติดตั้ง JDK ที่ถูกต้องบนเครื่องของคุณ สำหรับ Ubuntu 18.04 เส้นทางคือ/usr/lib/jvm/java-8-openjdk-amd64/

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

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

echo $JAVA_HOME

สิ่งนี้ใช้ได้เฉพาะกับเทอร์มินัลเซสชันและไม่มีที่อื่น
แจ็ค

1

ฉันมี Linux Lite 3.8 (เป็นฐานอยู่ที่ Ubuntu 16.04 LTS) และการเปลี่ยนพา ธ ในไฟล์ต่อไปนี้ (พร้อมสิทธิ์พิเศษรูท) ด้วยการรีสตาร์ทช่วยได้

/etc/profile.d/jdk.sh

0

คุณสามารถติดตั้ง Java เริ่มต้น (17.10) java จาก apt:

sudo apt install openjdk-8-jdk-headless 

และมันจะตั้งค่า PATH ให้กับคุณหากคุณต้องการติดตั้ง Java เวอร์ชันเฉพาะคุณสามารถติดตามYouTubeนี้ได้


0

เปิดไฟล์/etc/environmentด้วยตัวแก้ไขข้อความเพิ่มบรรทัดJAVA_HOME="[path to your java]" บันทึกและปิดจากนั้นเรียกใช้source /etc/environment


0

ตั้งค่าเวอร์ชัน java จากรายการการติดตั้ง หากต้องการดูรายการเวอร์ชันที่ติดตั้งให้รันคำสั่งต่อไปนี้:

update-java-alternatives --list

จากนั้นตั้งค่าเวอร์ชัน java ของคุณตามคำสั่งต่อไปนี้:

sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64

-1

การติดตั้ง Oracle Java:

  1. Donwload tarball (ไฟล์. tar) จากเว็บไซต์ Oracle
  2. แตกไฟล์โดย sudo tar -xvpzf ชื่อไฟล์ -C / installation_folder_name
  3. เปลี่ยนการอนุญาตของไฟล์และการเป็นเจ้าของ
  4. เพิ่มสองบรรทัดต่อไปนี้ใน / etc / profile

ส่งออก JAVA_HOME = / home / abu / Java / jdk1.8.0_45 / ส่งออก PATH = $ JAVA_HOME / bin: $ PATH

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