시스템 전체의 리포지터리(repository) - xrath.com 에서 번역됨

# 시스템 전체의 리포지터리(repository) (Windows 마셔)

이번 릴리스보다 전은, 새로운 JRE 를 인스톨 하면(자), 낡은 릴리스의 JAR 및 네이티브 라이브러리를 새로운 릴리스로부터 표시할 수 없었습니다. 따라서, 그러한 라이브러리에 의존하는 어플리케이션 및 애플릿은 동작하지 않기 때문에, 개발자는 라이브러리를 새로운 JRE 에 대해서 재배치할 필요가 있었습니다. 새로운시스템 전체의 리포지터리(repository)는, 이 문제에 대한 해결책이 됩니다. 시스템 전체의 리포지터리(repository)는, VM 가 JAR 라이브러리 또는 네이티브 라이브러리를 검색할 수 있는, JRE 의 장소에 의존하지 않는 글로벌인 (시스템 전체의) 장소를 제공합니다. 이것은 Microsoft VM 의 리포지터리(repository)와 같은 기능을 제공합니다 (「How Does the Virtual Machine Search for Java Classes?」(을)를 참조해 주세요).

주: 이 릴리스에서는, 시스템 전체의 리포지터리(repository)는 Java Plug-in 및 Win32 만으로 지원됩니다.

새로운 시스템 전체의 리포지터리(repository)의 장소에 도착해, 다음의 겉(표)에 나타냅니다.

> 라이브러리의 형태 | 시스템 전체의 장소
> DLL | 시스템 패스 환경 변수내의 임의의 디렉토리
> 신뢰되어 있지 않은 JAR | `<Windows 디렉토리 >\Sun\Java\Deployment\Lib\Untrusted`
> 신뢰되고 있는 JAR | `<Windows 디렉토리 >\Sun\Java\Deployment\Lib\Trusted`

`<Windows 디렉토리 >` 는,`%SystemRoot%` 라고도 불리는, Windows 가 인스톨 되고 있는 드라이브에 있는 Windows OS 의 디렉토리입니다.

예를 들어, Windows XP 에서는, Windows 는 일반적으로 C 드라이브에 인스톨 되므로, 라이브러리의 장소는 다음과 같이 됩니다.

> 라이브러리의 형태 | 시스템 전체의 장소
> DLL | 시스템 패스 변수내에 있는 임의의 디렉토리, 예를 들어 `C:\WINDOWS\repository` 가 시스템 패스 변수로 설정되어 있는 경우는,`C:\WINDOWS\repository`
> 신뢰되어 있지 않은 JAR | `C:\WINDOWS\Sun\Java\Deployment\Lib\Untrusted`
> 신뢰되고 있는 JAR | `C:\WINDOWS\Sun\Java\Deployment\Lib\Trusted`

다음의 점에 주의해 주세요.

1. 시스템 전체로 신뢰되고 있는 리포지터리(repository)의 JAR 내의 클래스는 확장 클래스 로더에 의해 로드 됩니다만, 시스템 전체로 신뢰되어 있지 않은 리포지터리(repository)의 JAR 는 애플릿 클래스 로더에 의해 로드 됩니다. 따라서 전자는 `AllPermission` 의 액세스권이 주어져 후자에게는 디폴트 애플릿의 액세스권 밖에 주어지지 않습니다.
2. 리포지터리(repository)는, 버젼 또는 이름 공간을 제어하지 않습니다. 개발자가 배치시에 버젼 및 이름 공간의 경합을 피할 필요가 있습니다.
3. 시스템 전체로 신뢰된 리포지터리(repository)의 구현은, 시스템 프로퍼티 `java.ext.dirs` 에 근거하고 있습니다. 사용자가 Java 컨트롤 패널로부터 독자적인 `java.ext.dirs` 시스템 프로퍼티을 선택하는 경우, Java Plug-in 는 시스템 전체로 신뢰된 리포지터리(repository)의 JAR 를 로드하지 않습니다.