There are several entries in stackoverflow to this subject. e.g. here
Why does it not work on my computer with Debian-10 (Buster)? I did 3 trial:
put a file named 90java.conf below /etc/environment.d holding
JAVA_HOME=/usr/lib/jvm/default-java
put a file named java-env.sh below /etc/profile.d holding
export JAVA_HOME=/usr/lib/jvm/default-java
add the same text at the end to /etc/profile
export JAVA_HOME=/usr/lib/jvm/default-java
and restarted Debian at each trial.
Than opened a command window and entered
echo $JAVA_HOME
The response was always an empty line. Like to understand what I do not have grasped about environment variables on startup.
added later:
Entering the export statement to /etc/bash.bashrc solved my problem.
However, I'd like to understand what is different to the /etc/environment or /etc/profile approach. Why do environment variables do not show up in that case?