GNU/Linux >> Belajar Linux >  >> Linux

Menginstal Oracle JDK pada subsistem Windows untuk Linux

Tampaknya pada Agustus 2017 solusinya lebih sederhana seperti yang disarankan oleh @noah-david.

Saya dapat menginstal Oracle JDK 8 dari repositori tim “WebUpd8”.

Instruksi. Untuk menambahkan repositori:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Untuk memasang:

sudo apt-get install oracle-java8-installer 
sudo apt install oracle-java8-set-default

Setelah menginstal

[email protected]:/mnt/c/work$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

[email protected]:/mnt/c/work$ which java
/usr/bin/java

[email protected]:/mnt/c/work$ uname -a
Linux amanta-win 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 
  x86_64 x86_64 x86_64 GNU/Linux

Saya ingin mengklarifikasi bahwa mulai 9 Desember 2016, Anda pasti dapat menginstal Java 8 di Ubuntu Bash untuk Windows 10 dan @Karl Horton benar.

Anda harus menginstal unzip sudo apt-get install unzip

Salin skrip ini di suatu tempat di bash Anda untuk sesi windows dan buat itu dapat dieksekusi (chmod +x nama file). Jika Anda tidak menggunakan editor berbasis baris perintah seperti vim maka Anda akan memiliki akhiran baris windows untuk ditangani. Anda dapat menggunakan dos2unix atau cara pilihan Anda untuk mengatasinya. Saya hanya menempelkannya ke file menggunakan vim.

 #!/bin/bash

set -ex

# UPDATE THESE URLs
export JDK_URL=http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
export UNLIMITED_STRENGTH_URL=http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

# Download Oracle Java 8 accepting the license
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
${JDK_URL}
# Extract the archive
tar -xzvf jdk-*.tar.gz
# clean up the tar
rm -fr jdk-*.tar.gz
# mk the jvm dir
sudo mkdir -p /usr/lib/jvm
# move the server jre
sudo mv jdk1.8* /usr/lib/jvm/oracle_jdk8

# install unlimited strength policy
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
${UNLIMITED_STRENGTH_URL}
unzip jce_policy-8.zip
mv UnlimitedJCEPolicyJDK8/local_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
mv UnlimitedJCEPolicyJDK8/US_export_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle_jdk8/jre/bin/java 2000
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle_jdk8/bin/javac 2000

sudo echo "export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db" | sudo tee -a /etc/profile.d/oraclejdk.sh

Dan sekarang saya bisa melakukan hal berikut

[email protected]:~$ java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)                                                

Tautan dan versi dalam skrip di atas kemungkinan besar sudah kedaluwarsa saat Anda membaca ini, jadi buka saja http://www.Oracle.com/technetwork/Java/javase/downloads/index.html terima lisensi sehingga js mereka memungkinkan Anda menyalin URL baru dan Anda harus melakukannya dengan baik.


Saya menggunakan skrip yang diberikan oleh @fieldju tetapi dia melewatkan beberapa hal yang bergantung pada skrip tersebut, dan juga menyalin/menempel konten menghasilkan akhir baris jendela/carriage return (/r ) yang perlu diganti ke pengembalian linux. Selain itu, menurut saya jauh lebih mudah untuk mengunduh zip yang diperlukan terlebih dahulu dan meletakkannya di samping skrip. Berikut daftar lengkap yang saya lakukan:

  1. Di bash , ketik sudo apt-get install zip unzip untuk memastikan unzip/zip terpasang di bash Anda konsol
  2. Unduh Java JDK versi Linux terbaru dari situs web oracle (Saya memiliki sistem 64 bit jadi saya memilih "Linux x64") dan menyimpannya di folder di suatu tempat di komputer Anda yang dapat Anda buka di bash CATATAN:jangan ubah nama file untuk memastikannya berfungsi dengan skrip
  3. Unduh kebijakan kekuatan tak terbatas secara terpisah di folder yang sama dengan zip terakhir, sekali lagi pastikan Anda mempertahankan nama file apa adanya.
  4. Salin dan tempel skrip berikut ke dalam notepad dan simpan sebagai java_install_predownloaded.sh di folder yang sama di samping zip:

Skrip:

#!/bin/bash

# Extract the archive
tar -xzvf jdk-*.tar.gz

# mk the jvm dir
sudo mkdir -p /usr/lib/jvm
# move the server jre
sudo mv jdk1.8* /usr/lib/jvm/oracle_jdk8

# install unlimited strength policy
mv UnlimitedJCEPolicyJDK8/local_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
mv UnlimitedJCEPolicyJDK8/US_export_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle_jdk8/jre/bin/java 2000
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle_jdk8/bin/javac 2000

sudo echo "export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db" | sudo tee -a /etc/profile.d/oraclejdk.sh

Kode ini adalah versi modifikasi dari @fieldju yang menganggap zip sudah diunduh dan berada di folder yang sama dengan .sh ini berkas

  1. karena file tersebut memiliki windows carriage return, Anda perlu memastikannya diganti, jadi di bash arahkan ke tempat Anda menyimpan java_install_predownloaded.sh dan jalankan perintah berikut:

    sed 's/^M$//' java_install_predownloaded.sh > java_install_predownloaded_unix.sh

Saya juga kemudian menjalankan yang berikut untuk memastikan tidak ada akhir baris dari windows:

sed 's/\r$//' java_install_predownloaded_unix.sh > java_install_predownloaded_unix_final.sh

  1. Setelah menjalankan 2 baris tersebut, sebuah file bernama java_install_predownloaded_unix_final.sh akan berada di folder yang merupakan versi 'dibersihkan' kami tanpa akhir baris windows, jadi Anda hanya perlu mengeksekusi ./java_install_predownloaded_unix_final.sh di bash dan saksikan keajaiban terjadi. Hai Presto, Anda sekarang telah menginstal java pada instance bash Anda di windows!

Saya pasti melewatkan sesuatu... yang saya lakukan hanyalah:

sudo apt-get update
sudo apt-get install default-jdk

java -version

keluaran:

java version "1.7.0_131"
OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)

Linux
  1. Subsistem Windows untuk Linux Dijelaskan, WSL &WSL2

  2. Kali di Subsistem Windows untuk Linux

  3. Memasang share windows di Subsistem Windows untuk Linux

  1. Cara Menginstal Oracle Java JDK 11/8 di Ubuntu 16.04 &Linux Mint 18

  2. Cara Menginstal Oracle Java JDK 17 di Linux

  3. Wget error bash Subsistem Windows untuk Linux

  1. Cara Menginstal Oracle Java JDK 18 di Ubuntu 20.04 | Ubuntu 22.04

  2. Menginstal dan mengatur Grafana di linux

  3. 10 ALASAN MENGUBAH WINDOWS 11 KE LINUX GRATIS