자바는 우리가 설정할 때 항상 읽고 쓸 수있는 기본 시스템 환경 변수를 가지고 있습니까? CATALINA_OTPS
/JAVA_OPTS
등은 TOMCAT/JBOSS 등자바 시스템 환경 변수
- 나는 그것이 쉘을 포함로 (-Dprop1 = 값 1 -Dprop2 = 값 2를 통해 전달되는) Java 시스템 등록 정보를 통해 설정하지 않으/배치를위한 것 스크립트.
- Windows에서 두 번 클릭 jar 파일처럼 OS에서 작동해야합니다.
- 다른 JRE (Sun, IBM, OpenJDK 등)에서 작동해야합니다.
- 추가 코딩이 필요하지 않습니다.
- log4j 수준 $ {LOG_LEVEL} (으)로 설정하는 것과 같은 대부분의 라이브러리 구성 파일에서 작동해야합니다.
업데이트 : 추가 된 항목 # 4와 제목 5. 제거 OS는 내 질문에 명확하게합니다.
업데이트 2 : 인식의 대답을보고 한 후, 제 2 항처럼 보인다 3 System.getenv
를 통해 달성 될 수있다. 항목 4와 5를 달성하는 방법은 무엇입니까?
다음은 시나리오 예입니다. 지금 상상해보십시오. JAVA_DEFAULT_OPTS
은 이제 Java에서 표준이 된 환경 변수입니다. 개발 데스크톱 컴퓨터에서 JAVA_DEFAULT_OPTS=-DLOG_LEVEL=DEBUG -Xmx384m
; 프로덕션 서버 시스템에서 고객은 JAVA_DEFAULT_OPTS=-DLOG_LEVEL=INFO -Xmx1024m
으로 설정합니다. I/users가 Windows에서 jar 파일을 두 번 클릭하면 응용 프로그램이 다른 log4j 수준과 최대 메모리 힙 크기로 실행됩니다.
- os.name
- os.arch
- os.version
모든 :
그것은 작동합니다. 적어도 Sun JRE가있는 Windows의 경우. Linux도 잘 작동합니다 (http://stackoverflow.com/a/1508684/418439). 누구도 Mac이 작동하는지 알려주세요. 이게 부활절 달걀 이니? 공식적으로 http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html에 문서화되지 않았습니다. 이 몇 년 전에 다시 물어봐야 할 것이 있습니다. ( –
@CKLee, Java 2D 설명서, https://docs.oracle.com/javase/8/docs/technotes/guides/2d에서 이에 대한 언급을 찾을 수 있습니다. /flags.html 및 http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html – RealHowTo