6.2. 모듈 종속 항목
모듈 종속성은 하나의 모듈에 함수를 위해 하나 이상의 다른 모듈의 클래스가 필요하다는 선언입니다. JBoss EAP가 모듈을 로드할 때 모듈식 클래스 로더는 해당 모듈의 종속성을 구문 분석하고 각 종속성의 클래스를 클래스 경로에 추가합니다. 지정된 종속성을 찾을 수 없는 경우 모듈을 로드하지 못합니다.
모듈 및 모듈식 클래스 로드 시스템에 대한 자세한 내용은 Modules 섹션을 참조하십시오.
배포된 애플리케이션(예: JAR 또는 WAR)은 동적 모듈로 로드되고 종속성을 사용하여 JBoss EAP에서 제공하는 API에 액세스합니다.
종속 항목에는 명시적 및 암시 적인 두 가지 유형의 종속 항목이 있습니다.
- 명시적 종속 항목
-
명시적 종속성은 개발자가 구성 파일에서 선언합니다. 정적 모듈은
module.xml
파일에 종속 항목을 선언할 수 있습니다. 동적 모듈은 배포의MANIFEST.MF
또는jboss-deployment-structure.xml
배포 설명자에 종속 항목을 선언할 수 있습니다. - 암시적 종속 항목
암시적 종속성은 배포에 특정 조건 또는 메타 데이터가 있는 경우 JBoss EAP에 의해 자동으로 추가됩니다. JBoss EAP와 함께 제공되는 Java EE 7 API는 배포에서 암시적 종속성을 감지하여 추가되는 모듈의 예입니다.
jboss-deployment-structure.xml
배포 설명자 파일을 사용하여 특정 암시적 종속성을 제외하도록 배포를 구성할 수도 있습니다. 이는 애플리케이션이 JBoss EAP가 암시적 종속성으로 추가하려고 하는 특정 버전의 라이브러리를 번들하는 경우에 유용할 수 있습니다.
선택적 종속 항목
명시적 종속 항목은 선택 사항으로 지정할 수 있습니다. 선택적 종속성을 로드하지 않으면 모듈이 로드되지 않습니다. 그러나 나중에 종속성을 사용할 수 있게 되면 모듈의 클래스 경로에 추가되지 않습니다. 종속성은 모듈이 로드될 때 사용할 수 있어야 합니다.
종속성 내보내기
모듈의 클래스 경로에는 자체 클래스와 즉각적인 종속 항목만 포함됩니다. 모듈은 종속 항목 중 하나의 종속 항목의 클래스에 액세스할 수 없습니다. 그러나 모듈은 명시적 종속성을 내보내도록 지정할 수 있습니다. 내보낸 종속성은 내보내는 모듈에 따라 다릅니다.
예를 들어 모듈 A 는 모듈 B 에 따라 다르며 모듈 B 는 모듈 C 에 따라 다릅니다. 모듈 A 는 모듈 B 의 클래스에 액세스할 수 있으며, 모듈 B 는 모듈 C 의 클래스에 액세스할 수 있습니다. 모듈 A 는 다음과 같은 경우 모듈 C 의 클래스에 액세스할 수 없습니다.
- 모듈 A 는 모듈 C 에 대한 명시적 종속성을 선언합니다.
- 모듈 B 는 모듈 C 에 대한 종속성을 내보냅니다.
글로벌 모듈
글로벌 모듈은 JBoss EAP가 모든 애플리케이션에 대한 종속성으로 제공하는 모듈입니다. 모든 모듈은 JBoss EAP의 글로벌 모듈 목록에 추가하여 글로벌하게 만들 수 있습니다. 모듈을 변경할 필요가 없습니다.
자세한 내용은 글로벌 모듈 정의 섹션을 참조하십시오.