Java로 애플리케이션을 작성 중이며 AWS EC2 시스템 (Linux)에서 환경 변수를 사용해야합니다. 응용 프로그램에서 System.getenv("myvariable")
을 사용하여 특정 환경 변수를 가져옵니다. 영구 환경 변수를 설정해야하며 현재 변수를 ~/.bashrc
, ~/.profile
및 ~/.bash_profile
으로 설정했습니다. 나는 알에서 3 개 개의 파일을 export myvariable=xyz
을 제공하고 다음 나는 source ~/.bashrc
, source ~/.profile
및 source ~/.bash_profile
을 달렸다. 그러나 응용 프로그램에서 null이 나타납니다. 심지어 echo $myvariable
을 실행하여 검사 한 내가 ~/.bash_profile
.I에서 변수를 수출하고있다하더라도 어떤 환경 변수를 얻을 수 없습니다입니다 이유AWS EC2 Linux 환경 변수를 추가하는 방법
는 아직도 이해가 안 나는 XYZ을 볼 수 있습니다.
동일한 로컬 변수를 내 로컬 MAC 시스템에 설정 한 경우 동일한 쉘을 사용하여 동일한 Java 코드를 실행하면 값이있는 변수를 볼 수 있습니다.
기본적으로 AWS EC2 Linux 시스템에서는 매번 null이 표시됩니다.
변수를 설정하는 데 필요한 다른 곳이 있습니까? 나는 심지어 기계를 다시 시작했지만 도움이되지 못했습니다.
그것은 소리 :
이에 자세히 설명되어 있습니다. Java 애플리케이션을 어떻게 실행합니까? –
내 maven 응용 프로그램을 실행하기 위해 spring-boot를 사용하고 있습니다. 그래서 나는이 명령을 sudo ./mvnw spring-boot : 내 응용 프로그램을 실행하기 위해 실행합니다. –
기본적으로'sudo'는 환경 변수를 보존하지 않으므로'sudo'를 통해 응용 프로그램을 실행할 때 필요한 모든 환경 변수를 응용 프로그램에서 사용할 수 없습니다. 서비스가'sudo'로 실행되어야하는 특별한 이유는 무엇입니까? 포트 권한? – birryree