2012-06-11 2 views
1

jvm 변수를 사용하여 Java 응용 프로그램을 보유하고 있습니다. 일반적으로 Tomcat의 응용 프로그램 구조 내에서 올바른 폴더를 가리 키도록 APP_HOME="-DAPP_HOME=$CATALINA_HOME/myapp" 과 같은 명령을 사용하여 설정합니다. 이제 응용 프로그램을 MicroCloud 가상 시스템에 배포하려고합니다. 배포가 끝나면 vmc env-add myapp APP_HOME="-DAPP_HOME=$HOME/myapp 명령을 사용하여 변수를 설정합니다. 그러나 문제는 변수가 JVM 변수가 아닌 쉘 변수로 설정된다는 것입니다. System.getenv();을 사용할 때 내 변수가 설정되어있는 것을 볼 수 있지만 System.getProperty("APP_HOME") 변수를 사용할 때 null입니다. 누구나이 경험이 있었고 할 일을 권고 할 수있었습니다. CF에서 JVM 변수로 설정 했습니까?CloudFoundry에서 jvm 변수 설정

p.s. CloudFoundry Q & A 및 여기 stackoverflow에서 기존 주제를 모두 읽었지만이 문제에 대한 답이 표시되지 않습니다 ...

미리 감사드립니다!

답변

1

무엇

vmc env-add myapp JAVA_OPTS="-DAPP_HOME=$HOME/myapp"

에 대해

그러나

, 왜이 작업을 수행하려고하는 (즉, JVM에 속성으로 -DAPP_HOME을 통과) - 왜 그냥 나쁜 생각입니다 시스템 속성을 찾는 대신 getenv를 사용하여 값을 가져 오려면?

+1

답변을 많이 보내 주셔서 감사합니다. 정확히 내가 찾고있는 것이지만보기에는 너무 장님입니다. 잘 작동합니다! 맞습니다. getenv (env 변수)를 사용하지 않는 특별한 이유는 없습니다. 응용 프로그램이 jvm 등록 정보와 함께 작동하도록 이미 개발되었지만 지금은 모두 변경할 수 있기를 원하지 않습니다. CF에 배치하는 중 ... – hariss