Lion(Mac OS X 10.7.2)에서 James SMTP 서버를 실행하려고 합니다. 내가 이것을 할 때 :
sudo JAVA_HOME=/Library/Java/Home ./james-2.3.2/bin/run.sh
좋은 결과.
그러나 다른 응용 프로그램에서도 볼 수 있도록 JAVA_HOME을 환경 변수로 설정하고 싶습니다.
~/.bash_profile을 다음과 같이 편집했습니다.
export JAVA_HOME=/Library/Java/home
그리고 변수는 다음과 같이 명령줄에서 표시되는 것 같습니다.
$ echo $JAVA_HOME
/Library/Java/home
하지만 이와 같이 james를 다시 실행하면 JAVA_HOME에 대한 경고가 표시됩니다.
$ sudo ./james-2.3.2/bin/run.sh
ERROR: JAVA_HOME not found in your environment.
Please, set the JAVA_HOME variable in your environment to match the
location of the Java Virtual Machine you want to use.
내가 뭘 잘못하고 있는지 어떤 아이디어가 있습니까? james의 명령을 실행할 때 JAVA_HOME 환경 변수를 볼 수 없는 이유는 무엇입니까?
어떤 정보라도 대단히 감사하겠습니다. 감사합니다!
답변1
sudo
환경 변수를 안전한 기본값으로 재설정합니다.
변수를 유지하려면 visudo
다음을 추가해야 합니다.
Defaults env_keep = "JAVA_HOME"
사용자 환경 변수를 권한 있는 계정에 전달하면 보안 위험이 발생할 수 있습니다.
답변2
/etc
Lion에 디렉터리가 있는지(있는 것으로 가정) 또는 /etc/bashprofile
실제로 해당 디렉터리에 있는지 확실하지 않지만 /etc/bashrc
시스템 전체에 걸쳐 이 변경 사항을 적용하려면 이러한 파일 중 하나를 찾아서 편집하세요. 거기로 가서 변경하세요:
export PATH=$PATH:/path/to/Java/
다음 로그인 시 변경 사항이 적용되어 유지됩니다.