๐Ÿ’ป Language/Java : ์ž๋ฐ”

[Java] JDK ์„ค์น˜, JDK ๋ฒ„์ „ ๋ณ€๊ฒฝ (Linux/Ubuntu)

mxnxeonx 2023. 3. 23. 17:07
728x90
728x90

Linux Ubuntu 18.04 ํ™˜๊ฒฝ์—์„œ ์„œ๋ฒ„์— ์„ค์น˜๋œ JDK ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

  • ๊ธฐ์กด : openjdk version "11.0.18" 2023-01-17
  • ๋ณ€๊ฒฝ : openjdk version "1.8.0_362"

 

Window์—์„œ๋„ ๊ทธ๋Ÿฌํ•˜๋“ฏ ์„ค์น˜๋Š” ์ˆ˜๋™ ์„ค์น˜์™€ ์ž๋™ ์„ค์น˜ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๋Š”๋ฐ,

์ž๋™ ์„ค์น˜๋Š” apt-get ํˆด์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” jdk ๋ฒ„์ „์„ ์ž…๋ ฅํ•œ ๋’ค ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์ด๊ณ , (ํŒจํ‚ค์ง€ ๋„๊ตฌ ์ด์šฉ)

์ˆ˜๋™ ์„ค์น˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ ์••์ถ• ํ•ด์ œ ํ›„ PATH๋ฅผ ์ง€์ •ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. (์ง์ ‘ jdk ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ)

 


 

JDK ์„ค์น˜ (์ž๋™)

๋จผ์ € ํ˜„์žฌ ์„œ๋ฒ„์— ์„ค์น˜๋œ JDK ํŒŒ์ผ์ด ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ „๋ถ€ ์‚ญ์ œํ•ด์ค€๋‹ค. (๋งŒ์•ฝ ์—ฌ๋Ÿฌ Java ๋ฒ„์ „์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ์‚ฌ์šฉํ•˜๊ณ ์‹ถ๋‹ค๋ฉด ๊ธฐ์กด ๋ฒ„์ „์„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ์ถ”๊ฐ€๋กœ Installํ•ด์„œ ์‚ฌ์šฉํ•ด๋„๋จ)

$ sudo apt-get remove openjdk*
$ sudo apt-get remove oracle*

 

์ง€์›Œ์ง€์ง€ ์•Š์€ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ฒญ์†Œํ•ด์ฃผ๋Š” autoremove, autoclean๋„ ์‹คํ–‰ํ•ด์ค€๋‹ค.

$ sudo apt-get autoremove --purge
$ sudo apt-get autoclean

 

์ž์‹ ์ด ์›ํ•˜๋Š” ๋ฒ„์ „์„ ์ž…๋ ฅํ•˜์—ฌ jdk๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

$ sudo apt install openjdk-8-jdk

 

๋ณธ๋ฌธ ๊ฐ€์žฅ ํ•˜๋‹จ์˜ Java ๋ฒ„์ „ ํ™•์ธ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ณ , ๋งŒ์•ฝ ์„ค์น˜ํ•œ ๋ฒ„์ „๊ณผ ๋‹ค๋ฅด๋‹ค๋ฉด ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.

$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

โ€ป ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ '์„ค์ •ํ•  ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค.'๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค๋ฉด Java ๋ฒ„์ „์ด ํ•˜๋‚˜๋งŒ ์„ค์น˜๋œ ์ƒํƒœ

 

 


 

JDK ์„ค์น˜ (์ˆ˜๋™)

JEUS๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด JDK๋ฅผ ์„ค์น˜ํ•œ๋‹ค. JDK๋Š” x64, x86 ๋ฒ„์ „์ด ์žˆ์„ํ…๋ฐ, ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ ค๋ฉด

$ getconf LONG_BIT

ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 64์ธ ๊ฒฝ์šฐ x64(64๋น„ํŠธ), 32์ธ ๊ฒฝ์šฐ x86(32๋น„ํŠธ)์ด๋‹ค.

์กฐ๊ธˆ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋“ค์„ ์ด์šฉํ•ด๋„ ๋œ๋‹ค.

x86_64๋Š” 64๋น„ํŠธ์ธ๋ฐ 32๋น„ํŠธ๋„ ์ง€์›ํ•˜๋Š” CPU์ด๋‹ค. ์ตœ๊ทผ ํ•˜๋“œ์›จ์–ด๋“ค์€ ๋‹ค 86_64๋”๋ผ.

 

JDK ์„ค์น˜๋ฅผ ์œ„ํ•ด ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ tar(์••์ถ•) ํ™•์žฅ์ž ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. JDK 8 ๋ฒ„์ „์˜ ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋“ค์ด๋ฉฐ, ํ•ด๋‹น ๋ฐ”์ด๋„ˆ๋ฆฌ๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•˜๋ฉด ๋œ๋‹ค. ๋‚˜๋Š” ๊ฐ€์žฅ ์œ„์˜ ์˜ค๋ผํด์—์„œ ํšŒ์›๊ฐ€์ž… ํ›„ ๋‹ค์šด๋กœ๋“œํ•˜์˜€๋‹ค.

 

๋‹ค์šด๋กœ๋“œํ•œ JDK ํŒŒ์ผ์„ WinSCP ๋“ฑ์˜ SFTP ํˆด์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์˜ฎ๊ฒจ๋‘๊ณ , ์••์ถ•์„ ํ•ด์ œํ•œ๋‹ค. (๋งํฌ ๋ณต์‚ฌํ•˜์—ฌ wget์œผ๋กœ ๋ฐ›์•„๋„ ๋œ๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ๋Š” ํ˜„์žฌ ์„œ๋ฒ„์— ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ๋ผ sftp๋กœ ์˜ฎ๊ฒจ์ฃผ์—ˆ์Œ.)

$ tar zxvf [JDK ํŒŒ์ผ๋ช…]

์•„๋ž˜์™€ ๊ฐ™์ด jdk1.8.0 ํด๋”๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์„ฑ๊ณต! 1.8.0 ๋’ค์—๋Š” ์ž์‹ ์ด ์„ค์น˜ํ•œ JDK์˜ ๋ฒ„์ „์ด ํ‘œ์‹œ๋  ๊ฒƒ์ด๋‹ค.

 

jdk ํŒŒ์ผ์„ ๊ฐ€์ ธ์™”์œผ๋ฏ€๋กœ PATH๋ฅผ ์„ค์ •ํ•˜์—ฌ ์‹ค์ œ๋กœ ์„ค์น˜๋œ Java ๋ฒ„์ „์„ ์ธ์‹ํ•˜๋„๋ก ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

Ubuntu๋Š” ๊ฐ„๋‹จํžˆ Java ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ํˆด์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋™ ์„ค์ •, ์ž๋™ ์„ค์ • ์ค‘ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค.

 

 

์ž๋™ ์„ค์ • ๋ฐฉ๋ฒ• (๊ถŒ์žฅ)

์„ค์น˜ํ•œ JDK ๋””๋ ‰ํ† ๋ฆฌ PATH๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. (๋งจ ๋’ค 100์€ ์šฐ์„ ์ˆœ์œ„)

$ sudo update-alternatives --install /usr/bin/java java /home/po7java/jdk1.8.0_261/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /home/po7java/jdk1.8.0_261/bin/javac 100

$ # ์„ค์น˜ ํ™•์ธ
$ sudo update-alternatives --display java

PATH๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉด ์ด์ œ Java ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

$ sudo update-alternatives --config java

๋Œ€์ฒด ํ•ญ๋ชฉ java์— ๋Œ€ํ•ด (/usr/bin/java ์ œ๊ณต) 2๊ฐœ ์„ ํƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  ์„ ํƒ       ๊ฒฝ๋กœ                                          ์šฐ์„ ์ˆœ์œ„ ์ƒํƒœ
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      ์ž๋™ ๋ชจ๋“œ
  1            /home/po7java/jdk1.8.0_261/bin/java              100       ์ˆ˜๋™ ๋ชจ๋“œ

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /home/po7java/jdk1.8.0_261/bin/java to provide /usr/bin/java (java) in manual mode

๋ฐฉ๊ธˆ ์ถ”๊ฐ€ํ•œ jdk ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Enterํ•˜๋ฉด ๋ฒ„์ „ ๋ณ€๊ฒฝ์ด ์™„๋ฃŒ๋œ๋‹ค.

 

 

์ˆ˜๋™ ์„ค์ • ๋ฐฉ๋ฒ•

.bash_profile ํŒŒ์ผ์— JDK ํ™˜๊ฒฝ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. PATH ์„ค์ •์€ ๋ณธ์ธํ•œํ…Œ ๋งž๊ฒŒ ์“ฐ๋ฉด ๋œ๋‹ค.

# JAVA Environment
export JAVA_HOME=/home/idox/jdk1.8.0_361
export PATH=${JAVA_HOME}/bin:${PATH}

์ž‘์„ฑํ•œ ํ›„ ์•„๋ž˜ ๋ช…๋ น์„ ํ†ตํ•ด .bash_profile ํŒŒ์ผ์„ ํ•œ ๋ฒˆ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด,

$ . .bash_profile

 

๊ธฐ๋ณธ์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๋˜ OpenJDK๊ฐ€ ๋ฐฉ๊ธˆ ์„ค์น˜ํ•œ JavaJDK๋กœ ๋ณ€๊ฒฝ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

JDK ์„ค์น˜ ์ „
JDK ์„ค์น˜ ํ›„

 


 

 

$ # ์„ค์น˜ ํ™•์ธ

$ java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u362-ga-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)

$ javac -version
javac 1.8.0_362
728x90
320x100