저장소 구조 패키지 참조

저장소 구조 패키지를 사용하려면 FileVault 콘텐츠 패키지 Maven 플러그인 <repositoryStructurePackage> 구성을 통해 모든 코드 패키지(/apps에 배포되는 하위 패키지)를 통해 Maven 프로젝트를 참조합니다.

ui.apps/pom.xml 및 기타 코드 패키지 pom.xml에서 프로젝트의 저장소 구조 패키지(#repository-structure-package) 구성에 대한 참조를 FileVault 패키지 Maven 플러그인에 추가합니다.

...
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>filevault-package-maven-plugin</artifactId>
      <extensions>true</extensions>
      <configuration>
        ...
        <repositoryStructurePackages>
          <repositoryStructurePackage>
              <groupId>${project.groupId}</groupId>
              <artifactId>ui.apps.structure</artifactId>
              <version>${project.version}</version>
          </repositoryStructurePackage>
        </repositoryStructurePackages>
      </configuration>
    </plugin>
    ...
</build>
<dependencies>
    <!-- Add the dependency for the repository structure package so it resolves -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>ui.apps.structure</artifactId>
        <version>${project.version}</version>
        <type>zip</type>
    </dependency>
    ...
</dependencies>

다중 코드 패키지 사용 사례

덜 일반적이고 복잡한 사용 사례는 JCR 저장소의 동일한 영역에 설치하는 여러 코드 패키지의 배포를 지원합니다.

예:

  • 코드 패키지 A가 /apps/a에 배포됨
  • 코드 패키지 B가 /apps/a/b에 배포됨

코드 패키지 A의 코드 패키지 B에서 패키지 수준 종속성이 설정되지 않은 경우 코드 패키지 B가 먼저 /apps/a에 배포될 수 있습니다. 그 뒤에 /apps/a에 배포되는 코드 패키지 A가 있으면 이전에 설치된 /apps/a/b이(가) 제거됩니다.

이 경우:

  • 코드 패키지 A는 프로젝트의 저장소 구조 패키지에 <repositoryStructurePackage>을(를) 정의해야 합니다(/apps에 대한 필터가 있어야 함).
  • 코드 패키지 B는 코드 패키지 A에 의해 공유되는 공간에 배포되므로 코드 패키지 B는 코드 패키지 A에 <repositoryStructurePackage>을(를) 정의해야 합니다.

오류 및 디버깅

저장소 구조 패키지가 올바르게 설정되지 않은 경우 Maven 빌드 시 오류가 보고됩니다.

1 error(s) detected during dependency analysis.
Filter root's ancestor '/apps/some/path' is not covered by any of the specified dependencies.

이 오류는 구분 코드 패키지에 필터 목록에 /apps/some/path을(를) 나열하는 <repositoryStructurePackage>이(가) 없음을 나타냅니다.

추가 리소스

이전 페이지AEM 프로젝트 구조
다음 페이지AEM as a Cloud Service SDK

Experience Manager