There doesn't seem to be an official answer as to where to set your system wide JAVA_HOME in Linux, at least I haven't found one (looked on Oracle website and some google fu). Many forums and comments point at setting it in /etc/profile or even /etc/bashrc/ (or /etc/bashrc.bashrc) but on my system both these files headers are quite specific about creating
"a custom.sh shell script in /etc/profile.d/ [...] as this will prevent the need for merging in future updates."
instead of directly modifying the files.
For this reason I'm thinking the custom.sh shell script placed in /etc/profile.d is the way to go but I might be missing something hence this question =)
Please forgive me if I missed an official doc and just post the link!
I usually make a java_dev.sh file in /etc/profile.d/ containing:
export JAVA_HOME=/opt/javahome
export M2_HOME=/opt/mavenhome
export PATH=${JAVA_HOME}/bin:${M2_HOME}/bin:${PATH}
Or the like. I use this on all Linuxen I frequently use, Ubuntu, RH, Fedora...