sudo
сбрасывает переменные среды к безопасным значениям по умолчанию.
Если Вы хотите сохранить ту переменную, Вы должны visudo
и добавьте это:
Defaults env_keep = "JAVA_HOME"
Обратите внимание на то, что перенос переменных пользовательской среды к привилегированным учетным записям является возможной угрозой безопасности.