Eclipse는 다중 사용자 설치를 지원하기 위해 다양한 전략을 제공합니다. 각 전략은 특정 시나리오를 충족시킵니다. 이 문서는 이러한 전략에 대해 다루며 각 전략의 사용 시기에 대해 설명합니다. 이 문서의 사용자는 분배하기 위해 Eclipse 기반 제품을 구성하는 제품 엔지니어, 네트워크를 통해 사용하도록 Eclipse 기반 제품을 설정하는 시스템 관리자, 이 설정의 좋은 구성원인 플러그인 작성에 관심이 있는 개발자입니다.
최종 수정 날짜: 2005년 6월 17일
Eclipse 런타임 옵션 기사에 설명된 대로, 다중 사용자 설정에는 Eclipse 배치 관점에 중요한 세 가지의 서로 다른 위치가 있습니다.
Eclipse를 처음 실행하기 전에, 구성 영역은 기본적으로 비어 있는 디렉토리입니다. 이 위치는 점차적으로 Eclipse 세션 사이에 Eclipse 런타임 및 다른 플러그인으로 채워집니다. Eclipse 런타임에서 유지되는 대부분의 메타데이터(예: 플러그인 종속성, 확장 레지스트리)는 첫 번째 세션을 종료할 때 기록됩니다. 설치된 플러그인 세트를 변경하지 않으면 후속 세션에서 데이터가 기록되지 않습니다. 구성이 초기화된다고 합니다. 구성이 이러한 상태에 있을 경우, 구성 영역을 읽기 전용으로 만들 수도 있습니다. 구성 영역을 읽기 전용으로 만들면 공유 구성(나중에 자세히 설명함)과 같은 시나리오에서 유용합니다.
-initialize
명령행 옵션을 사용하면 Eclipse 응용프로그램을 실행하지 않고
구성 영역을 초기화할 수 있습니다. 초기화 프로시저는 첫 번째 Eclipse 세션에 있는 동안
구성 위치에 기록되는 메타데이터를 강제로 작성합니다. 그러나 구성 영역에는
필요할 경우에만 작성되는 다른 파일이 있습니다. 예제는 다음과 같습니다.
Platform.asLocalURL(URL)
을 호출합니다. 그 결과, URL이 JAR 내부 파일을 참조할 경우
파일은 구성 영역의 파일 시스템에 추출됩니다. 파일이 추출되고 나면
그 뒤로 Platform.asLocalURL()
을 호출하여 찾을 수 있으므로,
해당 파일에 대해 추가 추출사항이 발생하지 않습니다. 결과가 같은 Platform.asLocalURL
을
사용하는 유사한(실제로는 원래) 시나리오는 원격 컨텐츠 확인에
관련됩니다(예를 들어, http URL을 통해 액세스 가능한 파일은 로컬로 사용 가능합니다). 이 경우(그리고 써드파티 플러그인이 도입될 수 있는 다른 경우) 초기화 프로시저는 구성 영역을 완전히 초기화하는데 충분하지 않습니다. 응용프로그램에서 구성 영역에 파일이 작성되도록 하는 모든 실행 경로를 방문하므로 구성 영역에 기록해야 할 필요성은 없어지는 경향이 있지만 여전히 구성 영역에 기록해야 합니다. 구성 영역이 완전히 초기화되었다고 말할 수 있게 되면 Eclipse 실행을 위해 쓰기 액세스가 필요하지 않게 됩니다.
이는 단일 사용자 시나리오입니다. Eclipse 설치는 단일 사용자가 사용하며 사용자는 Eclipse에 대한 전체 액세스 특권을 갖습니다. 구성 영역 위치의 기본값은 설치 위치 아래의 구성 디렉토리입니다.
이 시나리오를 설정하기 위한 프로시저에서는 사용자가 설치 위치에 대해 전체 권한을 가지고 있는지 확인해야 합니다.
이 시나리오에서는 단일 설치 영역을 많은 사용자가 공유합니다. 설치 영역의 "configuration" 디렉토리는 제품과 함께 제공된 대로(초기화되어 있지 않음) config.ini에 유일한 홈입니다. 모든 사용자는 고유한 로컬 독립형 구성 위치를 가지고 있습니다.
이 시나리오에 대한 설정에서는 일반 사용자에 대해 설치 영역을 읽기 전용으로 만들어야 합니다. 이렇게 하면 사용자가 Eclipse를 시작할 때 구성 영역의 기본값이 자동으로 사용자 홈 디렉토리에 있는 디렉토리가 됩니다. 이 방식을 사용하지 않을 경우, 구성 영역을 지원하지 않아 모든 사용자는 결국 자신의 구성 영역에 대해 동일 위치를 사용하게 됩니다.
여기에서 사용자는 설치 영역을 공유할 뿐만 아니라 마스터 구성 영역도 공유합니다. 사용자는 기본적으로 계속해서 자신의 개인 쓰기 가능 구성 영역을 가지고 있습니다. 사용자의 개인 구성 영역은 마스터 구성에 계단식으로 종속되며, 마스터 구성을 완전히 초기화하고 설치할 플러그인 세트를 변경하지 않은 경우 흥미있는 데이터가 들어 있지 않습니다.
이 시나리오에서, 시스템 관리자가 마스터 구성(일반적으로 설치 위치에 있는)을 초기화하고 전체 설치 및 구성 영역은 사용자에게 읽기 전용이 되는지 확인합니다. 사용자가 공유 설치 위치에서 Eclipse 기반 제품을 실행할 경우, 설치 영역에 있는 구성 영역에 대해 쓰기 액세스 특권을 가지고 있지 않으므로 자동으로 로컬 구성 영역이 계산되어 초기화됩니다.
공유 구성이 더 완벽하게 초기화될수록 로컬 구성에서 파일을 작성할 필요성이 적어집니다.
개인 구성 영역의 기본 위치는 다음과 같습니다.
<user-home-dir>/.eclipse/<product-id>_<product-version>/configuration
사용자 홈 디렉토리는 user.home
Java 시스템 특성으로 결정됩니다.
제품 ID 및 버전은 Eclipse 설치에 있는 제품 마커 파일 .eclipseproduct
에서
알 수 있습니다.
기본값이 아닌 구성 영역은 osgi.configuration.area
시스템 특성을 설정하여 정의할 수 있습니다. 이 특성은 일반 사용자가 설정할 수 있지만
launcher .ini
파일이나 기본 구성 위치에 있는 config.ini 파일에서 설정하는 것이 편리합니다.
플러그인은 공유 구성에서 설치/제거할 수 있습니다. 사용자는 다음에 Eclipse를 실행할 때 변경사항을 발견합니다. 사용자의 마스터 구성은 Eclipse를 실행하지 않으므로 사용자가 공유 구성을 가지고 있는지 확인해야 합니다.
사용자는 추가 플러그인을 설치하여 로컬 구성 영역을 수정할 수 있습니다. 이 때 공유 구성이 변경되지는 않으므로 다른 사용자는 변경사항을 보지 못합니다. 공유 구성에서 구성된 플러그인은 제거할 수 없습니다. 제거될 경우, 다음에 플랫폼이 시작될 때 다시 설치됩니다.