Difference between revisions of "Linux Java"
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Oracle Java 8 JDK - Java Development Kit - apt-get | = Java 8 = | ||
Important Oracle Java License Update | |||
The Oracle Java License has changed for releases starting '''April 16, 2019'''. | |||
The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle Java licenses. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle Java licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here. | |||
Commercial license and support is available with a low cost Java SE Subscription. | |||
Oracle also provides the latest OpenJDK release under the open source GPL License at jdk.java.net. | |||
= Ubuntu: Oracle Java 8 JDK - Java Development Kit - apt-get = | |||
Silent install Java 6/7/8/9 using [https://launchpad.net/~webupd8team/+archive/ubuntu/java WebUpd8 team's PPA] | Silent install Java 6/7/8/9 using [https://launchpad.net/~webupd8team/+archive/ubuntu/java WebUpd8 team's PPA] | ||
<source lang="bash"> | |||
#sudo apt-get install -y python-software-properties #if required | |||
sudo apt-get install -y debconf-utils | |||
sudo add-apt-repository -y ppa:webupd8team/java | |||
sudo apt-get update | |||
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections | |||
sudo apt-get install -y oracle-java8-installer | |||
</source> | |||
= CentOS: Oracle Java 8u171 JDK - Java Development Kit - rpm = | |||
This methos does not require manually accepting the license | |||
<source lang="bash"> | |||
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page] | |||
#jdk-8u171 | |||
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm | |||
sudo yum -y localinstall jdk-8u171-linux-x64.rpm | |||
</source> | |||
= Linux: Oracle Java JDK 9 from tar.gz = | |||
wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz | |||
= Linux: Oracle Java JDK 10.0.1 from tar.gz = | |||
Go to Oracle and accept their license then you can download the file with cookie details provided. | |||
<source lang="bash"> | |||
#not verified if it's working | |||
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://link_copied_from_site" | |||
</source> | |||
<source lang="bash"> | |||
wget --no-check-certificate --no-cookies --header \ | |||
"Cookie: oraclelicense=accept-securebackup-cookie;" \ | |||
"http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/serverjre-10.0.1_linux-x64_bin.tar.gz" | |||
sudo tar -xzvf serverjre-10.0.1_linux-x64_bin.tar.gz -C /usr/local | |||
sudo alternatives --install /usr/bin/java java /usr/local/jdk-10.0.1/bin/java 2 | |||
sudo alternatives --config java | |||
sudo bash -c "echo export PATH=$PATH:/usr/local/jdk-10.0.1/bin >> /etc/environment" #PATH update | |||
sudo bash -c "echo export JAVA_HOME=/usr/local/jdk-10.0.1 >> /etc/environment" #JAVA_HOME set up | |||
</source> | |||
= OpenJDK = | = Ubuntu: OpenJDK = | ||
You can use this Java open source installation when Oracle licensing causing limitations. | You can use this Java open source installation when Oracle licensing causing limitations. | ||
<source lang=bash> | |||
sudo add-apt-repository ppa:openjdk-r/ppa | |||
sudo apt-get update | |||
sudo apt-get install openjdk-8-jdk -y | |||
</source> | |||
Ubuntu 20.04 provides code default version. Read more at [https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-20-04 DigitalOcean] | |||
<source lang=bash> | |||
$ sudo apt install default-jre | |||
openjdk version "11.0.8" 2020-07-14 | |||
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) | |||
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing) | |||
</source> | |||
= Oracle Java 7 JDK - zip file install = | = Ubuntu: Oracle Java 7 JDK - zip file install = | ||
This will treat how to install Oracle Java in Ubuntu. This method does not use any package management software. Use a link in the references section for other options. | This will treat how to install Oracle Java in Ubuntu. This method does not use any package management software. Use a link in the references section for other options. | ||
Line 20: | Line 74: | ||
Uncompress it | Uncompress it | ||
<source lang="bash"> | |||
tar -xvf jdk-7u80-linux-x64.tar.gz (32-bit) | |||
tar -xvf jdk-7u80-linux-x64.tar.gz (64-bit) | |||
</source> | |||
The JDK 7 package is extracted into ./jdk1.7.0_80 directory. | The JDK 7 package is extracted into ./jdk1.7.0_80 directory. | ||
Now move the JDK 7 directory to /usr/lib | Now move the JDK 7 directory to /usr/lib | ||
<source lang="bash"> | |||
sudo mkdir -p /usr/lib/jvm | |||
sudo mv ./jdk1.7.0_80 /usr/lib/jvm/ | |||
</source> | |||
Optional: Environment variables | Optional: Environment variables | ||
<source lang="bash"> | |||
$ sudo vi /etc/environment #add environment variables system wise, all users | |||
PATH="search/paths''':/usr/lib/jvm/jdk-oracle/bin'''" | |||
JAVA_HOME=/usr/lib/jvm/jdk-oracle | |||
</source> | |||
Log log out and log back in, you should have Java available to you now. | Log log out and log back in, you should have Java available to you now. | ||
Now run | Now run | ||
<source lang="bash"> | |||
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_80/bin/java" 1 | |||
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_80/bin/javac" 1 | |||
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_80/bin/javaws" 1 | |||
</source> | |||
This will assign Oracle JDK a priority of 1, which means that installing other JDKs will replace it as the default. Be sure to use a higher priority if you want Oracle JDK to remain the default. | This will assign Oracle JDK a priority of 1, which means that installing other JDKs will replace it as the default. Be sure to use a higher priority if you want Oracle JDK to remain the default. | ||
Correct the file ownership and the permissions of the executables: | Correct the file ownership and the permissions of the executables: | ||
<source lang="bash"> | |||
sudo chmod a+x /usr/bin/java | |||
sudo chmod a+x /usr/bin/javac | |||
sudo chmod a+x /usr/bin/javaws | |||
sudo chown -R root:root /usr/lib/jvm/jdk1.7.0_80 | |||
</source> | |||
Run | Run | ||
<source lang="bash"> | |||
sudo update-alternatives --config java | |||
</source> | |||
You will see output similar to the one below - choose the number of jdk1.7.0_80 - for example 3 in this list (unless you have have never installed Java installed in your computer in which case a sentence saying "There is nothing to configure" will appear): | You will see output similar to the one below - choose the number of jdk1.7.0_80 - for example 3 in this list (unless you have have never installed Java installed in your computer in which case a sentence saying "There is nothing to configure" will appear): | ||
<source lang="bash"> | |||
$ sudo update-alternatives --config java | |||
</source> | |||
There are 3 choices for the alternative java (providing /usr/bin/java). | There are 3 choices for the alternative java (providing /usr/bin/java). | ||
<source lang="bash"> | |||
Selection Path Priority Status | |||
------------------------------------------------------------ | |||
* 0 /usr/lib/jvm/java-6-oracle1/bin/java 1047 auto mode | |||
1 /usr/bin/gij-4.6 1046 manual mode | |||
2 /usr/lib/jvm/java-6-oracle1/bin/java 1047 manual mode | |||
3 /usr/lib/jvm/jdk1.7.0_80/bin/java 1 manual mode | |||
Press enter to keep the current choice [*], or type selection number: 3 | Press enter to keep the current choice [*], or type selection number: 3 | ||
update-alternatives: using /usr/lib/jvm/jdk1.7.0_80/bin/java to provide /usr/bin/java (java) in manual mode | update-alternatives: using /usr/lib/jvm/jdk1.7.0_80/bin/java to provide /usr/bin/java (java) in manual mode | ||
</source> | |||
Repeat the above for: | Repeat the above for: | ||
<source lang="bash"> | |||
sudo update-alternatives --config javac | |||
sudo update-alternatives --config javaws | |||
</source> | |||
Verify | Verify | ||
<source lang="bash"> | |||
$ java -version | |||
java version "1.7.0_80" | |||
Java(TM) SE Runtime Environment (build 1.7.0_80-b15) | |||
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) | |||
</source> | |||
= References = | = References = | ||
*[https://help.ubuntu.com/community/Java Java] Ubuntu official wiki | *[https://help.ubuntu.com/community/Java Java] Ubuntu official wiki | ||
*[https://linuxacademy.com/cp/nuggets/view/id/33 Java and Alternatives] Linux Academy Nugget about local and global Java exports | *[https://linuxacademy.com/cp/nuggets/view/id/33 Java and Alternatives] Linux Academy Nugget about local and global Java exports | ||
*[https://stackoverflow.com/questions/10268583/downloading-java-jdk-on-linux-via-wget-is-shown-license-page-instead Java Oracle download without consent] Stackoverflow |
Latest revision as of 15:28, 25 July 2020
Java 8
Important Oracle Java License Update The Oracle Java License has changed for releases starting April 16, 2019. The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle Java licenses. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle Java licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here.
Commercial license and support is available with a low cost Java SE Subscription.
Oracle also provides the latest OpenJDK release under the open source GPL License at jdk.java.net.
Ubuntu: Oracle Java 8 JDK - Java Development Kit - apt-get
Silent install Java 6/7/8/9 using WebUpd8 team's PPA
#sudo apt-get install -y python-software-properties #if required
sudo apt-get install -y debconf-utils
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
sudo apt-get install -y oracle-java8-installer
CentOS: Oracle Java 8u171 JDK - Java Development Kit - rpm
This methos does not require manually accepting the license
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]
#jdk-8u171
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm
sudo yum -y localinstall jdk-8u171-linux-x64.rpm
Linux: Oracle Java JDK 9 from tar.gz
wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz
Linux: Oracle Java JDK 10.0.1 from tar.gz
Go to Oracle and accept their license then you can download the file with cookie details provided.
#not verified if it's working
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://link_copied_from_site"
wget --no-check-certificate --no-cookies --header \
"Cookie: oraclelicense=accept-securebackup-cookie;" \
"http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/serverjre-10.0.1_linux-x64_bin.tar.gz"
sudo tar -xzvf serverjre-10.0.1_linux-x64_bin.tar.gz -C /usr/local
sudo alternatives --install /usr/bin/java java /usr/local/jdk-10.0.1/bin/java 2
sudo alternatives --config java
sudo bash -c "echo export PATH=$PATH:/usr/local/jdk-10.0.1/bin >> /etc/environment" #PATH update
sudo bash -c "echo export JAVA_HOME=/usr/local/jdk-10.0.1 >> /etc/environment" #JAVA_HOME set up
Ubuntu: OpenJDK
You can use this Java open source installation when Oracle licensing causing limitations.
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk -y
Ubuntu 20.04 provides code default version. Read more at DigitalOcean
$ sudo apt install default-jre
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Ubuntu: Oracle Java 7 JDK - zip file install
This will treat how to install Oracle Java in Ubuntu. This method does not use any package management software. Use a link in the references section for other options.
Download the 32-bit or 64-bit Linux from "http://www.oracle.com/technetwork/java/javase/downloads/index.html" "compressed binary file" - it has a ".tar.gz" file extension.
Uncompress it
tar -xvf jdk-7u80-linux-x64.tar.gz (32-bit) tar -xvf jdk-7u80-linux-x64.tar.gz (64-bit)
The JDK 7 package is extracted into ./jdk1.7.0_80 directory.
Now move the JDK 7 directory to /usr/lib
sudo mkdir -p /usr/lib/jvm sudo mv ./jdk1.7.0_80 /usr/lib/jvm/
Optional: Environment variables
$ sudo vi /etc/environment #add environment variables system wise, all users
PATH="search/paths''':/usr/lib/jvm/jdk-oracle/bin'''"
JAVA_HOME=/usr/lib/jvm/jdk-oracle
Log log out and log back in, you should have Java available to you now.
Now run
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_80/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_80/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_80/bin/javaws" 1
This will assign Oracle JDK a priority of 1, which means that installing other JDKs will replace it as the default. Be sure to use a higher priority if you want Oracle JDK to remain the default.
Correct the file ownership and the permissions of the executables:
sudo chmod a+x /usr/bin/java sudo chmod a+x /usr/bin/javac sudo chmod a+x /usr/bin/javaws sudo chown -R root:root /usr/lib/jvm/jdk1.7.0_80
Run
sudo update-alternatives --config java
You will see output similar to the one below - choose the number of jdk1.7.0_80 - for example 3 in this list (unless you have have never installed Java installed in your computer in which case a sentence saying "There is nothing to configure" will appear):
$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-oracle1/bin/java 1047 auto mode
1 /usr/bin/gij-4.6 1046 manual mode
2 /usr/lib/jvm/java-6-oracle1/bin/java 1047 manual mode
3 /usr/lib/jvm/jdk1.7.0_80/bin/java 1 manual mode
Press enter to keep the current choice [*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jdk1.7.0_80/bin/java to provide /usr/bin/java (java) in manual mode
Repeat the above for:
sudo update-alternatives --config javac sudo update-alternatives --config javaws
Verify
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
References
- Java Ubuntu official wiki
- Java and Alternatives Linux Academy Nugget about local and global Java exports
- Java Oracle download without consent Stackoverflow