JAVA_HOME is not set currently. Please set JAVA_HOME in mac - java

JAVA_HOME is not set currently. Please set JAVA_HOME. I want to run appium programs but its throwing this weird error
Even java_home path not displaying in terminal. Currently displaying blank
My bash profile
JAVA VERSION Is also getting displayed

try the following command:
vim .bash_profile (do you see export JAVA_HOME=$(/usr/libexec/java_home) under the file) ?
If not then you need to add it there.
If already added then run source .bash_profile, it reloads the file. And the path is set.

The first bash line is incorrect.
export JAVA_HOME=$(/usr/libexec/java_home)
Should be:
export JAVA_HOME=/usr/libexec/java_home

Related

How to set environment variables permanently in Mac OS 10.15.6?

I have tried all approaches I can find online, but none of them works.
I want to set JAVA_HOME and PATH environment variables permanently, so that in IntelliJ I can issue commands like "mvn".
I have written my script into .bash_profile as shown below:
screenshot
But after I restarted my Mac and issued echo $JAVA_HOME, the output is still empty.
I also tried launchd.conf as said in this answer, but it didn't work either.
Could someone help me here?
Thanks in advance!
For osx add this in your ~/.profile or if you are using zsh inside ~/.zshrc
export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
restart your terminal or simply apply your changes
source ~/.profile
refer this to know more about related to this question
& also refer this to know more about installation process of Amazon Corretto 8.
If you are using zsh you can import .profile config inside ~/.zprofile
emulate sh
. ~/.profile
emulate zsh
Check your enviroment variables with
env
then check if your config files are in the right directory. Read /etc/profile e.g.
nano /etc/profile
There can you find the path to bashrc file

$JAVA_HOME variable changes with each new terminal

I recently installed Jdk1.8 on my machine. Everything went well and I made it work. After that I edited my /etc/profile file in order to set the new Java path. I edited the following line:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64
and then I executed
source /etc/profile
Here again everything went fine and I could see the changes on the terminal.
Problem is:
Everytime I open a new terminal I need to do
source /etc/profile
or else JAVA_HOME would have its old value.
Solution please? Thank you
If your username is 'test', then create a file called /home/test/.profile if it does not exist, and add your export command there.

setting JAVA_HOME to the JDK location mac osx 10.9.5

I followed this thread to solve my problem, I have the same problem with a different version of JDK and for some reason it didn't work. I still get -bash: JAVA_HOME: command not found when I type JAVA_HOME to my terminal.
I have JDK1.8.0.45 located at Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home which I can access with /usr/libexec/java_home
Using
echo "export JAVA_HOME=/usr/libexec/java_home" >> ~/.profile
~/.profile
I do get
"export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home"
saved to ~/.profile, and I can check this using /usr/bin/open ~/.profile
But I do not understand why JAVA_HOME still doesn't work and I need this to install maven.
Thanks!
My ~/.bash_profile has this line in it, and it's been working fine.
export JAVA_HOME=$(/usr/libexec/java_home)
This line basically says "run the program named /usr/libexec/java_home and export its output as a variable named JAVA_HOME."
I suggest opening your .profile or .bash_profile in a text editor rather than using echo statements to append new lines to it. That way you can see everything that's in the file and make sure other old lines in the file aren't causing you issues.
After you make a change to .bash_profile, make sure you open a new terminal window before testing it.
You can check the value of any environment variable (including JAVA_HOME) by simply echo'ing its value:
echo $JAVA_HOME
In my case the output of that echo command is:
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Probably you misunderstood things. JAVA_HOME is not a command, it's an environment variable. You can't call JAVA_HOME in your terminal since - in fact - there is no such command, what your error message says.
You can see this variable's value by:
echo $JAVA_HOME
If it is set and points to a proper location then it's fine. Some tools that expect this variable to be set (e.g. Maven or Java IDEs) will work well.

set System.getenv in Linux

Im building some application, where i would like to get some variable directly from linux.
I know, that the command to get the variable is System.getenv(), but i don't exackly know where i should set variable in linux.
I'm using Centos, and my tomcat is set in /usr/share/tomcat6
I was thinking, that maybe i should write it in /etc/profile file, but it doesn't works, and additionally i think that i should past the variable in user folder. User for Tomcat is tomcat, and his folder is /usr/share/tomcat6.
Should i create there file profile and add something like this? :
MY_VARIABLE=value
export MY_VARIABLE
Please help
From Terminal:
gedit ~/.bashrc
~ here refers to /home/USER directory.
Edit the file:
MY_VARIABLE=value
export MY_VARIABLE
confirm changes:
echo $MY_VARIABLE

default value of JAVA_HOME seems to be overwriting the value set by: /etc/profile.d/java.sh

I've created a file /etc/profile.d/java.sh that includes (among other things) the line of code: export JAVA_HOME=/usr/java/jdk1.6.0_30. However, when I log in via SSH or reboot the linux Centos 6.2 server, I always see:
[root#host3 /etc/profile.d]# echo $JAVA_HOME
/usr/local/jdk
This is a new installation and server, so there's not much else done. It seems that the java.sh file is executing upon reboot or SSH login, however, the value of JAVA_HOME is being overwritten by the default value of /usr/local/jdk somehow. There isn't even a directory jdk under /usr/local.
Any idea how to correct this? The value of JAVA_HOME needs to be set (as done in java.sh) for all users.
UPDATE 1:
I checked the /etc/profile file and searched for the text jdk as well as JAVA and neither were found. I also checked the /root/.bash_profile and it shows as follows:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Also, if I source java.sh, everything gets set correctly. But if I reboot server, JAVA_HOME goes back to /usr/local/jdk.
Check the /etc/profile file or the .bash_profile/.profile in your home directory.
It appears that cPanel adds the following lines to the /etc/bashrc file to set the JAVA_HOME to it's default.
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/classes.zip
So, if you have cPanel installed, make sure you check this file as well.

Categories