Unable to find JAVA_HOME - linux

I copied the latest java 1.8 to a red hat Linux server. I ran the command java -version and it returned version 1.7.0_131. I updated .bashrc and the jre to the latest version 1.8. When I run the command version java -version it still says its version 1.7.0_31. What I need to know where is this being picked up from. I have checked .profile, .bashrc and JAVA_HOME they all are pointing to the location where I update to 1.8. Greatly appreciate all your help.

Type which java and you will probably see (at least after you have followed all the symlinks) that the Java executable is taken from somewhere else than your newly set JAVA_HOME. You need to create the appropriate symlinks to version 1.8, too, like this:
ln -s /your/path/to/v18/bin/java /usr/bin/java
Be aware that existing applications might use the 1.7 Java version and you might break them when you set /usr/bin/java (or whatever path the which command showed you) to the 1.8 version.
Fyi, JAVA_HOME is not meant to be used by your shell to locate the Java command. It is to be used by other software that require Java to know where to find it.

Do it like this once
export JAVA_HOME=/jdk/path
If you use it continuously, add the above code to your .bashrc file or profile. Then open new terminal or run below code
source .bashrc

Related

Issue with Netbeans on Linux Mint

I just installed Netbeans using the script on Oracle's website and I'm having some trouble getting it to work. After opening Netbeans I went to open up a simple .java file just to test it out and got this error:
"The JDK is missing and is required to run some Neatbeans modules. Please use the --jdkhome command line option to specify a JDK installation or see http://wiki.netbeans.org/FaqRunningOnJre for more information."
I have OpenJDK, and I'm not sure what's meant by using the --jdkhome command line option. I also visited the wiki and it's about doing a full installation of JDK, which I don't think I should need to do. Any help is appreciated.
I think it's better to use Oracle Java JDK rather than Open JDK if you want to use Netbeans for java development
You can use this link to set Oracle Java JDK in Linux Mint
So, it's better to follow theses instructions (JDK install) prior to Netbeans install and all things will go well.
Steps:
1-Remove OpenJDK installation
sudo apt-get update && apt-get remove openjdk*
2- Download Oracle JDK you want to install (for example JDK 8)
Download the *.tar.gz one.
example for current version: jdk-8u65-linux-x64.tar.gz
3- Extract the file and create a folder where to move it
tar -zxvf jdk-8u65-linux-x64.tar.gz
sudo mkdir -p /opt/java
sudo mv jdk1.8.0_65 /opt/java
4- Make JDK system default
sudo update-alternatives --install "/usr/bin/java" "java"
"/opt/java/jdk1.8.0_65/bin/java" 1
sudo update-alternatives --set java /opt/java/jdk1.8.0_65/bin/java
At this stage, you can start the installation of Netbeans IDE and it will automatically detect your Oracle JDK setting
I tested a short HelloWorld Java example, and I don't have any issue.
Here is the setting JDK view in Netbeans:
If you want to add the JAVA Home dir to your system
Proceed like this
You have to be in root mode and then edit this file: /etc/bash.bashrc
and add:
#JAVA HOME
JAVA_HOME=/opt/java/jdk1.8.0_65
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
Reboot your Mint system
Now you'll have javac working in command line...

Eclipse 4.2 Linux distros don't ship with internal JRE?

I just installed Ubuntu and then downloaded a version of Java 7 and extracted it to where I want JAVA_HOME. I then added JAVA_HOME as an env var and exported it to PATH. I'm now trying to install Eclipse 4.2 (Juno) from the Older Versions link (specifically this).
When I download the TAR and extract it to where I want ECLIPSE_HOME to be, it extracts a directory named eclipse. When I drop into this directory, I see an executable also called eclipse. When I double-click this I get the following error:
Looking at this directory, I don't see a jre subdirectory - it's not even in the TAR that I downloaded from Eclipse's site. My understanding of Eclipse is that it always ships with its own JRE. What's going on here?
Update
Here's what I put in my ~/.bashrc file:
JAVA_HOME=/home/myuser/sandbox/java/7u55/jdk1.7.0_55
TOMCAT_HOME=/home/myuser/sandbox/tomcat/7.0.41/apache-tomcat-7.0.41
export PATH=$PATH:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin

How do I configure Oracle Java JDK 7 (not Open JDK) correctly on Ubuntu 11.10 and run a Java Program with referenced JAR files?

I may have multiple questions here, but ultimately I'm trying to compile and run a Java program that references 3rd party JAR files (on Ubuntu Linux) so I thought it was appropriate to keep it to one question.
I'm trying to get Java JDK 7 properly installed and configured to run a simple program on Ubuntu Linux. I'd like to get instructions from an expert that can help me, at the very least, to run a simple Java program from the command line (perhaps a "Hello World" application?). I've only compiled and run Java programs on Windows in the past, so this is new to me. Last night, I read that you have to be careful of not installing the Open JDK, and to install the Oracle JDK. It appears that Ubuntu 11.10 installs Java Open JDK for you when the OS is installed, among others.
I'm running 32-bit Ubuntu, not 64-bit. So I downloaded this Linux JDK file:
jdk-7u4-linux-i586.tar.gz
I unpacked the tarball into /usr/java and then deleted the *.gz file to save disk space. Some tutorials say to install into /usr/java and some say to install into /usr/lib/jvm, so I just picked one and rolled with it. If you have a suggestion on the appropriate install directory, please let me know what you suggest.
I then checked what Java version was installed (below) with the "java -version" command. It did not find the Oracle JDK.
(1) Why didn't the command list the Oracle JDK package I just installed?
mac#UBUNTU:/usr/lib$ java -version
The program 'java' can be found in the following packages:
* gcj-4.4-jre-headless
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install <selected package>
mac#UBUNTU:/usr/lib$
(2) Can you help me with the steps necessary to configure this Linux machine to compile a Java program (finish what I just started)?
(3) Can you help me with the steps to compile a *.java file to create the *.class file?
(4) Can you help me run the Java program--the one we just compiled?
(5) Suppose I want to include multiple *.jar files (3rd party assemblies) in my Java program. How does Java know on Linux where to find these files if they are not in the directory running the Java program referencing them? (I'm only familiar with a CLASSPATH in Windows)
Ubuntu is based on Debian and its apt-get utility. apt-get will list only known packages. The one you installed is just a folder lying on your system and apt-get does not even know about it.
It looks like java is not on your path. So either you create a symbolic link to the java binary in one of the folders of your path (type env to see what's in your path variable), or you add the JDK bin directory to your path (see command export). As a last resort, you can type the absolute path to the java binary, but that's just painful.
To compile, you simply use javac (Java compiler). For example javac Test.java. Make sure that javac is also on your path (or use the absolute path to the java compiler)
To run it, type java -cp . Test (don't forget to type the fully qualified name of your class if you put it inside a package, which is recommended)
When you compile or when you run, use the argument -cp followed by the list of jars you want to use (separated by a ':' on Linux and by a ';' on Windows). You may use wildcards in your classpath (like lib/*.jar) but you may also have to escape the wildcard to avoid shell expansion (like this lib/\*.jar).

How to configure java on Linux machine?

I am installing java to my Linux machine. Downloading the jre and jdk and extracting them did not help only - I assume some environmental variables are also needed. What all path variables are needed to be set? With which values? Expecting the java installs itself to <installation-dir>?
Depending on your distribution it may be easiest to install from your package manager. On Ubuntu, for example, you can do:
sudo aptitude install open-jdk
Otherwise, usually the sun (oracle) version of java comes with a .bin file which you need to make executable and run as root in order to get java properly installed.
You shouldn't need to set any environment variables to get java to work, although some applications will require you to set JAVA_HOME, JDK_HOME and/or JRE_HOME to point to the java install's bin directory. You can see where your java install is by looking at where the symlink from
/etc/alternatives/java
points.
Most Linux systems use the Gnu Java implementation by default and don't change this if you install an additional JDK. Therefore you need to explicitly make your new Java installation the default Java to be used. You can do so by running sudo update-alternatives --config java.
If you prefer graphical configuration, you can install the "galternatives" package, which lets you configure all those application defaults in a nice little UI.
You just need to make /usr/bin/java point to the java executable in the directory where you had extracted the JRE/JDK.
If you extracted it to, say, /opt/jdk1.6.0_23/bin/java, then you need to create a link like this:
sudo ln -s /opt/jdk1.6.0_23/bin/java /usr/bin/java
Prior to this, you can choose to backup an old java installation by:
sudo mv /usr/bin/java /usr/bin/java_old
Here is how I installed JRE:
Install Sun Java Runtime.
Get the jdk for linux. Go to the root Directory. Use the following commands to install.
./configure
make
make install
PATH .= New Path where Java is installed.
To go to the root directory for UBUNTU use command "sudo". For FEDORA use "su".

Where can I download JDK without installation Ubuntu 9.10?

I have Ubuntu 9.10, and Im not a root. This server contains JDK, but I need some updates (change local policy), and its easy for me to use package Java. E.g. on Windows I downloaded jdk1.6.0_05, set JAVA_HOME, and didn`t have any problems.
Is it possible to download full JDK to my home directory, export $JAVA_HOME without any installation manipulation?
Download the jdk Linux "bin" version from Oracle's web site. Wherever directory you run the shell script, it will install the jdk. Very similar to unpacking a .tar.gz.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Update your JAVA_HOME and PATH, etc, and you should be good to go!
You can download the JDK from here. If you are able to modify the server's environment, you can try to modify the $JAVA_HOME. If your server is running with lower privileges under another user, you have to do this with this user.
Download the java .deb package and unpack it with
dpkg -x <deb> .
You will get a /usr dir with subdirs and java distribution.
Copy it to wherever you like and set JAVA_HOME.

Resources