I have recently installed ubuntu and want to start compiling programs in the terminal. What is the command to set the path for java in ubuntu terminal? I tried "cd path" but it did not work. Could anyone please tell me the right command?
first of all if you have not installed java you need to execute the command
$ sudo apt-get install openjdk-7-jdk
if it does not work then first execute
$ sudo apt-get update
and the execute the above command
and the do
$ sudo vi /etc/profile
and at the last line of the file add
JAVA_HOME={path to java home}
PATH=$JAVA_HOME/bin:$PATH
and do $ . /etc/profile
and now you are good to go
to see the effect type java -version
Actually, you can avoid set the path by following phase:
First you can add ppa:
$ sudo add-apt-repository ppa:webupd8team/java
Then update:
$ sudo apt-get update
Then install it:
$ sudo apt-get install oracle-java8-installer
Finally, check it using the following command:
$ java -version
Result:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
Try export command.
Check in which location jdk is installed ( in ubuntu, its mostly in /usr/java/(javaVersion))
update the path variable using export:
export PATH=$PATH:/usr/java/(javaVersion)/bin
Related
I'm new to Raspberry-Pi & Linux and I wanted to code up a Minecraft server using PaperMC, but when I ran the server I got a warning saying that Java-11 would no longer be supported in future builds, so I thought it would be easy enough to upgrade to Java-16. I have not found documentation regarding this topic specifically which has led to using parts of differing tutorials, and I think I made a few mistakes. To start, I purged the old Java-11 version like so:
sudo -i
apt-get purge openjdk*
apt-get purge java11*
apt-get autoremove
Then I moved to the jvm directory and installed Java-16 from AdpotOpenJDK:
cd /usr/lib/jvm
wget https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_aarch64_linux_hotspot_16.0.1_9.tar.gz
tar xzf OpenJDK16U-jre_aarch64_linux_hotspot_16.0.1_9.tar.gz
export PATH=$PWD/jdk-16.0.1+9-jre/bin:$PATH
java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed mode, sharing)
This export PATH command seems to be temporary, when I logout of sudo or exit the command window, and then check java -version again I get that the java command is not found. If I try setting JAVA_HOME & PATH:
export JAVA_HOME="/usr/lib/jvm/jdk-16.0.1+9-jre"
export PATH=$PATH:$JAVA_HOME/bin
The result is also temporary. Why can't I set this Java-16 as the default? Do I need to make a script that runs these commands on startup?
Here is a way to install it permanently using apt. Link to the information
https://paper.readthedocs.io/en/latest/java-update/index.html#debian-ubuntu
$ sudo apt update
$ sudo apt install apt-transport-https software-properties-common gnupg wget
$ wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
$ sudo add-apt-repository https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
$ sudo apt update
$ sudo apt install adoptopenjdk-16-hotspot
How do I install Java Development Kit (JDK) 10 on Ubuntu?
The installation instructions on Oracle's help center only explain how to download and extract the archive on Linux platform, without any system setup.
Update: JDK 11 Now Available
sudo apt-get install openjdk-11-jdk
For JDK 10
Option 1: Easy Installation (PPA)
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer
Then set as default with:
sudo apt-get install oracle-java10-set-default
And finally verify Installation with:
$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Source: Linux Uprising
Option 2: Manual Installation
Download OpenJDK 10 binaries for Linux.
Untar the downloaded archive:
tar xzvf openjdk-10_linux-x64_bin.tar.gz
Move the extracted archive to where your system keeps your installed JDKs:
sudo mv jdk-10 /usr/lib/jvm/java-10-openjdk-amd64/
Add the new Java alternative:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1
Update your system's java alternatives and choose JDK 10:
$ sudo update-alternatives --config java
here are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:
and
$ sudo update-alternatives --config javac
There are 3 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-10-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode
Verify your installation with:
$ java --version
openjdk 10 2018-03-20
OpenJDK Runtime Environment 18.3 (build 10+46)
OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)
and
$ javac --version
javac 10
Done
If you prefer Oracle's JDK, download it and follow the installation steps as shown above.
I've found SdkMan! a very useful tool because it provides a convenient way for managing your JDKs from the shell.
For example, once it is installed, you can:
Install a specific JDK version: sdk install java 10.0.2-open
Downloading: java 10.0.2-open
In progress...
################# 12,3%
Use a specific JDK version: sdk use java 10.0.2-open
Using java version 10.0.2-open in this shell.
List available JDK: sdk list java
===================================================================
Available Java Versions
===================================================================
9.0.4-open
+ 8u161-oracle
8.0.191-oracle
> + 8.0.171-oracle
7.0.191-zulu
12.ea.15-open
11.0.1-open
10.0.2-open
1.0.0-rc8-graal
===================================================================
+ - local version
* - installed
> - currently in use
=======================================================================
And much more
See https://sdkman.io/usage
There is a ppa on java 10 that installs oracle's java: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
I am not sure if this will be maintained though.
It seems to be a copy of the webupd8 way on how to handle oracle java installation (ref: documentation).
How to use this ppa:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer
Verify installation:
$ /usr/lib/jvm/java-10-oracle/bin/java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Setting up environment variables (make java10 default)
sudo apt-get install oracle-java10-set-default
Note: You need update-alternatives only if you have multiple java versions.
Note: You can purge everything about Java before fresh installing new Java.
sudo apt purge java*
For Java 10 fresh installation
Download JDK 10 from here (you can download JRE and server JRE): http://www.oracle.com/technetwork/java/javase/downloads/index.html
Extract and put somewhere in /opt/java directory. You putting JDK in /opt/java directory makes it will be usable for all users as it is being in the public /opt directory.
(Note: I downloaded JDK, JRE, and server JRE, and extracted JDK and renamed extracted the folder to jdk10, extracted JRE and renamed extracted the folder to jre10, and extracted server JRE and renamed extracted the folder to jre10server as shown in below snapshot).
Update your /etc/environment file as below
Now, you need to reload the /etc/environment script file into the system using source command as below.
source /etc/environment
If you want to know more about update-alternatives then here is the link: https://askubuntu.com/questions/159575/how-do-i-make-java-default-to-a-manually-installed-jre-jdk
You need to do update-alternatives --install before the final step.
sudo update-alternatives --install "/usr/bin/java" java "/usr/lib/jvm/java-10-openjdk-amd64/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" javac "/usr/lib/jvm/java-10-openjdk-amd64/bin/javac" 1
I've found a repo
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt install openjdk-10-jdk
Repo home page
Install Jdk 10 On Linux Ubuntu
Download the required tarball from from Oracle official
website, i.e.
https://www.oracle.com
Unzip this tarball using "tar -zxvf tarball_name”
Create a folder named "java" in "/usr/lib", you need root permission
sudo mkdir /usr/lib/java
Move the extracted folder to “/usr/lib/java/” by using the following command:
sudo mv java-10-dir-name/ /usr/lib/java/
Now go to the location, i.e. cd /usr/lib/java/java-10-dir-name/
Next, run these below scripts in terminal:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java/java-10-dir-name/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java/java-10-dir-name/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/java/java-10-dir-name/bin/javaws" 1
NOTE: In the commands given above, you have to name the extracted directory of "java" instead of "java-10-dir-name".
Update the JAVA_HOME in your ~/.bashrc
export JAVA_HOME=/usr/lib/java/java-10-dir-name
set PATH="$PATH:$JAVA_HOME/bin"
export PATH
Verify the installation
verify whether Java 10 is installed correctly in your machine, execute the following command in your terminal:
$ java --version
openjdk 10 2018-03-20
OpenJDK Runtime Environment 18.3 (build 10+46)
OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)
And
$ javac --version
javac 10
How do I install Java Development Kit (JDK) 10 on Ubuntu?
The installation instructions on Oracle's help center only explain how to download and extract the archive on Linux platform, without any system setup.
Update: JDK 11 Now Available
sudo apt-get install openjdk-11-jdk
For JDK 10
Option 1: Easy Installation (PPA)
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer
Then set as default with:
sudo apt-get install oracle-java10-set-default
And finally verify Installation with:
$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Source: Linux Uprising
Option 2: Manual Installation
Download OpenJDK 10 binaries for Linux.
Untar the downloaded archive:
tar xzvf openjdk-10_linux-x64_bin.tar.gz
Move the extracted archive to where your system keeps your installed JDKs:
sudo mv jdk-10 /usr/lib/jvm/java-10-openjdk-amd64/
Add the new Java alternative:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1
Update your system's java alternatives and choose JDK 10:
$ sudo update-alternatives --config java
here are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:
and
$ sudo update-alternatives --config javac
There are 3 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-10-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode
Verify your installation with:
$ java --version
openjdk 10 2018-03-20
OpenJDK Runtime Environment 18.3 (build 10+46)
OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)
and
$ javac --version
javac 10
Done
If you prefer Oracle's JDK, download it and follow the installation steps as shown above.
I've found SdkMan! a very useful tool because it provides a convenient way for managing your JDKs from the shell.
For example, once it is installed, you can:
Install a specific JDK version: sdk install java 10.0.2-open
Downloading: java 10.0.2-open
In progress...
################# 12,3%
Use a specific JDK version: sdk use java 10.0.2-open
Using java version 10.0.2-open in this shell.
List available JDK: sdk list java
===================================================================
Available Java Versions
===================================================================
9.0.4-open
+ 8u161-oracle
8.0.191-oracle
> + 8.0.171-oracle
7.0.191-zulu
12.ea.15-open
11.0.1-open
10.0.2-open
1.0.0-rc8-graal
===================================================================
+ - local version
* - installed
> - currently in use
=======================================================================
And much more
See https://sdkman.io/usage
There is a ppa on java 10 that installs oracle's java: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
I am not sure if this will be maintained though.
It seems to be a copy of the webupd8 way on how to handle oracle java installation (ref: documentation).
How to use this ppa:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer
Verify installation:
$ /usr/lib/jvm/java-10-oracle/bin/java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Setting up environment variables (make java10 default)
sudo apt-get install oracle-java10-set-default
Note: You need update-alternatives only if you have multiple java versions.
Note: You can purge everything about Java before fresh installing new Java.
sudo apt purge java*
For Java 10 fresh installation
Download JDK 10 from here (you can download JRE and server JRE): http://www.oracle.com/technetwork/java/javase/downloads/index.html
Extract and put somewhere in /opt/java directory. You putting JDK in /opt/java directory makes it will be usable for all users as it is being in the public /opt directory.
(Note: I downloaded JDK, JRE, and server JRE, and extracted JDK and renamed extracted the folder to jdk10, extracted JRE and renamed extracted the folder to jre10, and extracted server JRE and renamed extracted the folder to jre10server as shown in below snapshot).
Update your /etc/environment file as below
Now, you need to reload the /etc/environment script file into the system using source command as below.
source /etc/environment
If you want to know more about update-alternatives then here is the link: https://askubuntu.com/questions/159575/how-do-i-make-java-default-to-a-manually-installed-jre-jdk
You need to do update-alternatives --install before the final step.
sudo update-alternatives --install "/usr/bin/java" java "/usr/lib/jvm/java-10-openjdk-amd64/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" javac "/usr/lib/jvm/java-10-openjdk-amd64/bin/javac" 1
I've found a repo
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt install openjdk-10-jdk
Repo home page
Install Jdk 10 On Linux Ubuntu
Download the required tarball from from Oracle official
website, i.e.
https://www.oracle.com
Unzip this tarball using "tar -zxvf tarball_name”
Create a folder named "java" in "/usr/lib", you need root permission
sudo mkdir /usr/lib/java
Move the extracted folder to “/usr/lib/java/” by using the following command:
sudo mv java-10-dir-name/ /usr/lib/java/
Now go to the location, i.e. cd /usr/lib/java/java-10-dir-name/
Next, run these below scripts in terminal:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java/java-10-dir-name/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java/java-10-dir-name/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/java/java-10-dir-name/bin/javaws" 1
NOTE: In the commands given above, you have to name the extracted directory of "java" instead of "java-10-dir-name".
Update the JAVA_HOME in your ~/.bashrc
export JAVA_HOME=/usr/lib/java/java-10-dir-name
set PATH="$PATH:$JAVA_HOME/bin"
export PATH
Verify the installation
verify whether Java 10 is installed correctly in your machine, execute the following command in your terminal:
$ java --version
openjdk 10 2018-03-20
OpenJDK Runtime Environment 18.3 (build 10+46)
OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)
And
$ javac --version
javac 10
I had no java (i.e. java -version said java no found or similar)
I installed it like this:
sudo apt-get install default-jre
This results in installing java 1.6 - I need java 1.7
So the next probelem is how to uninstall it.
I tried this:
sudo apt-get --purge -remove default-jre
Which seemed to work, but when I do:
java -version
I still java respond with 1.6 - i.e. id didnt uninstall java.
Ok, so I guess -remove does not remove the thing it installed. Is there a way to o this?
To completely remove jdk from your system, follow these below steps:
Type sudo apt-get autoremove default-jdk openjdk- (Don't hit Enter right now).
Now press tab button for 2 or 3 times, you will get list of packages
starting with openjdk-.
Look for name like openjdk-11-jdk. You need to get java version,
here is 11.
Now complete your command to sudo apt-get autoremove default-jdk
openjdk-11-jdk. (Change 11 to your java version)
And Hit Enter button.
Now you have done removing java from your system.
sudo apt-get remove default-jre
removes the package "default-jre". all tho you should ask in askUbuntu
Bary12's answer worked for me:
sudo apt-get autoremove default-jre
To set the Java version interactively:
Log in as root or use sudo.
View the Java alternatives.
$ update-alternatives --config java
This command lists the Java installations and prompts to select from the choices.
Sample response
There are 4 programs which provide 'java'.
Selection Command
1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 * /usr/lib/jvm/zulu-6/bin/java
3 /usr/lib/jvm/zulu-7/bin/java
4 /usr/lib/jvm/zulu-8/bin/java
Select a Java version, at the prompt, type a number.
Press enter to keep the default[*], or type selection number:
Sample response
Using '/usr/lib/jvm/zulu-7/bin/java' to provide 'java'.
Verify the switch, check the Java version.
$ java -version
Sample response
openjdk version "1.7.0_65"
OpenJDK Runtime Environment (Zulu 7.6.0.1-linux64) (build 1.7.0_65-b17)
OpenJDK 64-Bit Server VM (Zulu 7.6.0.1-linux64) (build 24.65-b04, mixed mode)
To set the Java version by path:
Log in as root or use sudo.
Specify the path to use when running Java.
$ update-alternatives --set java /usr/lib/jvm/zulu8/bin/java
You can remove Java 12 using this command--
sudo apt-get remove oracle-java12-installer
you can change the version by changing the 12 to the version present on your computer
then recheck by finding version -
java -version
I Installed Default JDK like this
sudo apt install -y default-jdk
Removed like this
sudo apt remove openjdk-11-jre-headless openjdk-11-jre openjdk-11-jdk-headless openjdk-11-jdk
I am trying to use the JPS tool (Java Process Monitoring Tool)
I have Oracle jdk1.6 on my ubuntu-12.04 machine
My Configuration.
$ java -version
java version "1.6.0_39"
Java(TM) SE Runtime Environment (build 1.6.0_39-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin:/usr/bin/java:/usr/lib/jvm/jdk1.6.0_39
$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/jdk1.6.0_39"
$ jps
The program 'jps' can be found in the following packages:
* openjdk-6-jdk
* openjdk-7-jdk
Try: sudo apt-get install <selected package>
I want to use oracle-jdk not open-jdk.
use this command
export PATH=$PATH:/usr/lib/jvm/jdk1.6.0_39/bin
And then try jps command in the same shell.
If you have exported the java/bin path in your .bashrc, then try to reload the .bashrc file
type
$> cd $HOME
$> . .bashrc
and then try to echo the Path. It should include the java/bin folder.
$> echo $PATH
it should solve the problem
I have the same problems like yours. At first I have had Java 1.7 installed on my machine, then I installed Java 1.6.
When I check inside this folder, I found no jps
/usr/lib/jvm/java-6-openjdk-i386/bin
So I uninstall Java 1.7 (through Synaptic Package Manager), and re-install Java 1.6 again. After that, I can see jps inside /usr/lib/jvm/java-6-openjdk-i386/bin folder. And I can use jps again.
I hope that it'll help. This is my first answer in Stack Overflow, so please do not vote down.
I solved it by adding a shell alias in /etc/profile after environment variables:
alias jps='/usr/jdk/bin/jps'
it works now.