2011-11-24 5 views
0

독립 실행 형 Java 응용 프로그램이있어서 다양한 모듈을 가지고 있습니다. 응용 프로그램은 하나의 클래스 main() 메서드에서 시작한 다음 응용 프로그램을 시작합니다. 자신의 환경 변수 조회 설정하기

지금 나는 내가 할 수있는 방법 다양한 모듈

에 키/값 쌍 형태로 공유 변수를 원했다?

업데이트 : 주에서

() 나는 몇 가지 변수를 설정합니다 거기에서, 응용 프로그램에 개막. 는 또한 여기에서 그것은

난 그냥 단지 서블릿 컨테이너처럼, ServletContext를,의 SessionContext 변수와 같은 유사한 기능을 원하는, 일부 모듈 프로그램을 시작

+1

나는 당신이 무엇을 요구하고 있는지 정말로 이해하지 못합니다. 질문을 더 분명하게 만들 수 있습니까? –

답변

1

당신은 JVM 넓은 단순한 문자열 기반의 키/값 구성 저장을 찾고 있다면 다음 시스템 속성은 일반적으로 좋은 적합 : http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html 코드에서

어디서나 당신이 사용할 수 있습니다

String configThingValue = System.getProperty("config-thing"); 

System.setProperty("config-thing", "config thing value"); 

또한, System.getProperties() 속성 (이 Hashtable를 확장)의 설정과 같은지도를 제공합니다.

+0

하지만 애플리케이션으로 바로 제한됩니까 ?? 이 변수를 OS env에 추가하거나 응용 프로그램이 실행될 때까지 지속됩니까? – ajduke

+0

이것은 당신이 클래스를 실행하고있는 JVM에 엄격히 제한되어 있습니다. 자바 프로퍼티는 영속성을 위해 잘 정의 된 파일 포맷을 가지고 있습니다. 그렇다면 시스템 속성에서 별도의 'Properties' 인스턴스를 사용하십시오. JavaDoc을 확인하십시오. http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html – SimonC

0

내가
U 경우 ... 전체 문제를 이해하지 않는다 키/값 쌍의 형태로 변수를 공유하고 싶을뿐입니다.
in java in ... Map
Map interface은지도의 내용을 키 세트, 값 모음 또는 키 - 값 매핑 세트로 볼 수있는 세 가지 컬렉션보기를 제공합니다. 맵의 순서는 맵의 콜렉션 뷰에있는 반복자가 요소를 리턴하는 순서로 정의됩니다. TreeMap 클래스와 같은 일부 맵 구현은 해당 순서와 관련하여 특정 보장을합니다. HashMap 클래스와 같은 다른 클래스는 그렇지 않습니다.
는 AbstractMap는 HashMap에, 해시 테이블, 트리 맵 사용 따라 requerment는 ....