GNU/Linux >> Znalost Linux >  >> Linux

Instalace Oracle JDK na subsystém Windows pro Linux

Zdá se, že v srpnu 2017 je řešení jednodušší, jak navrhuje @noah-david.

Podařilo se mi nainstalovat Oracle JDK 8 z týmového úložiště „WebUpd8“.

Instrukce. Chcete-li přidat úložiště:

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

Instalace:

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

Po instalaci

[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

Chtěl jsem objasnit, že od 9. prosince 2016 si zcela jistě můžete nainstalovat Java 8 na Ubuntu Bash pro Windows 10 a že @Karl Horton má pravdu.

Budete muset nainstalovat rozbalení sudo apt-get install unzip

Zkopírujte tento skript někam do bash pro relaci Windows a udělejte jej spustitelný (chmod +x název souboru). Pokud nepoužíváte editor založený na příkazovém řádku, jako je vim, budete se muset vypořádat s koncovkami řádků systému Windows. můžete použít dos2unix nebo svůj preferovaný způsob řešení. Prostě to vložím do souboru pomocí 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

A teď mohu udělat následující

[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)                                                

Odkazy a verze ve výše uvedeném skriptu budou pravděpodobně v době, kdy si to přečtete, zastaralé, takže přejděte na http://www.oracle.com/technetwork/java/javase/downloads/index.html a přijměte licence, takže jejich js vám umožní zkopírovat nové adresy URL a měli byste být připraveni.


Použil jsem skript od @fieldju, ale vynechal některé věci, na kterých skript závisí, a také kopírování/vkládání obsahu vede k tomu, že se v systému Windows vrací konce řádků/carriage (/r ), které bude nutné nahradit na linux returns. Také mi přišlo mnohem jednodušší stáhnout nejprve potřebné zipy a dát je vedle skriptu. Zde je úplný seznam toho, co jsem udělal:

  1. V bash , zadejte sudo apt-get install zip unzip abyste se ujistili, že unzip/zip je nainstalován na vašem bash konzole
  2. Stáhněte si nejnovější verzi Java JDK pro Linux z webu oracle (mám 64bitový systém, takže jsem zvolil "Linux x64") a uložte si ji do složky někde v počítači, do které se dostanete v bash POZNÁMKA:Neměňte název souboru, abyste zajistili, že bude se skriptem pracovat
  3. Stáhněte si zásadu neomezené síly samostatně do stejné složky jako poslední zip, čímž opět zajistíte, že název souboru zůstane tak, jak je.
  4. Zkopírujte a vložte následující skript do poznámkového bloku a uložte jej jako java_install_predownloaded.sh ve stejné složce vedle zipů:

Scénář:

#!/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

Tento kód je upravená verze od @fieldju, která předpokládá, že zipy jsou již staženy a jsou ve stejné složce jako tento .sh soubor

  1. protože soubor má návrat vozíku systému Windows, musíte zajistit, aby byly nahrazeny, takže v bash přejděte na místo, kam jste uložili java_install_predownloaded.sh a spusťte následující příkaz:

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

Také jsem pak spustil následující, abych se ujistil, že v oknech rozhodně nejsou žádné konce řádků:

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

  1. Po spuštění těchto 2 řádků se vytvoří soubor s názvem java_install_predownloaded_unix_final.sh bude ve složce, která je naší „vyčištěnou“ verzí bez koncovek řádků Windows, takže stačí spustit ./java_install_predownloaded_unix_final.sh v bash a sledujte, jak se kouzlo děje. Ahoj Presto, nyní máte na instanci bash na Windows nainstalovanou javu!

Něco mi asi chybí... všechno, co jsem udělal, bylo:

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

java -version

výstup:

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. Instalace a nastavení Grafana v linuxu

  2. Připojení sdílené složky systému Windows v podsystému Windows pro Linux

  3. Jak spustit 'rails credentials:edit' ve Windows 10 bez instalace linuxového subsystému

  1. Vysvětlení subsystému Windows pro Linux, WSL a WSL2

  2. Jak nainstalovat Oracle Java JDK 11 / 8 na Ubuntu 16.04 a Linux Mint 18

  3. Wget error bash Windows Subsystém pro Linux

  1. Jak nainstalovat Oracle Java JDK 17 na Linux

  2. Jak nainstalovat Oracle Java JDK 18 v Ubuntu 20.04 | Ubuntu 22.04

  3. 10 DŮVODŮ PRO ZMĚNU WINDOWS 11 NA LINUX ZDARMA