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:
- Di
bash
, ketiksudo apt-get install zip unzip
untuk memastikan unzip/zip terpasang dibash
Anda konsol - 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 - Unduh kebijakan kekuatan tak terbatas secara terpisah di folder yang sama dengan zip terakhir, sekali lagi pastikan Anda mempertahankan nama file apa adanya.
- 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
-
karena file tersebut memiliki windows carriage return, Anda perlu memastikannya diganti, jadi di
bash
arahkan ke tempat Anda menyimpanjava_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
- 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
dibash
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)