모든 Java EE 애플리케이션에 대해 글로벌 라이브러리 제공

Java™ EE 애플리케이션에서 사용할 수 있는 글로벌 라이브러리를 제공할 수 있습니다. 글로벌 라이브러리 디렉토리에 이 라이브러리에 대한 JAR 파일을 넣은 다음 각 애플리케이션에 대해 클래스 로더 구성에 글로벌 라이브러리 사용을 지정하여 이를 수행할 수 있습니다.그러나, 글로벌 라이브러리는 OSGi 애플리케이션과 같은 다른 애플리케이션에서 사용할 수 없습니다.

이 태스크 정보

환경 변수 WLP_USER_DIR을 사용하여 지정한 사용자 디렉토리 아래의 다음 위치에 글로벌 라이브러리를 배치할 수 있습니다.
  • ${shared.config.dir}/lib/global
  • ${server.config.dir}/lib/global
애플리케이션이 시작된 시점에 이 위치에 존재하는 파일이 있으며 해당 애플리케이션에 <classloader> 요소가 구성되어 있지 않으면, 애플리케이션은 이러한 라이브러리를 사용합니다. 클래스 로더 구성이 존재하는 경우, 글로벌 라이브러리가 명시적으로 참조되지 않으면 이 라이브러리가 사용되지 않습니다.
주의: 글로벌 라이브러리를 사용하는 경우에는 모든 애플리케이션에 대한 <classloader> 요소의 구성도 권장됩니다. 서블릿 스펙에서는 애플리케이션이 클래스 로더 상위 체인에서 글로벌 라이브러리 클래스 로더를 공유해야 합니다. 그렇지 않은 경우 가능한 각 애플리케이션에 대해 클래스 로더 분리가 중단됩니다. 따라서 애플리케이션은 Liberty에서 로드된 클래스에는 물론 서로 간에 장기적인 영향을 줄 가능성이 많으며, 특히 실행 중인 서버에서 기능이 추가되거나 제거될 때 클래스 공간 일관성 문제가 애플리케이션 간에 발생할 가능성이 보다 많습니다. 이러한 분리가 유지되므로, 이러한 고려사항은 해당 구성에서 <classloader> 요소를 지정하는 애플리케이션에 적용되지 않습니다.

다음 예제에서, Scholar라는 애플리케이션은 Alexandria라는 공통 라이브러리를 사용하도록 구성되며, 글로벌 라이브러리도 사용하도록 구성됩니다.

server.xml 파일 또는 포함 파일에서 다음 코드를 추가하여 글로벌 라이브러리를 사용 가능하게 설정하십시오.
<application id="" name="Scholar" type="ear" location="scholar.ear">
  <classloader apiTypeVisibility="spec" commonLibraryRef="Alexandria, global" />
</application>
글로벌 라이브러리에 대한 설정은 특수 ID global을 사용한 라이브러리 요소로 명시적으로 구성될 수도 있습니다. 예:
<library id="global">
  <fileset dir="/path/to/folder" includes="*.jar" />
</library>

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_classloader_global_libs.html