2017-09-11 9 views
0

저는 AEM 6.1을 사용하고 있으며, maven (3.3.3)을 사용하여 프로젝트를 빌드하고 배포하고 있습니다. 반면, maven 빌드는 Java 코드로 내 번들 패키지를 설치합니다. 내 구성 요소 및 템플릿 폴더 (apps 폴더에 있음)를 복사하지 않습니다.AEM - Maven 프로젝트가 앱 구성 요소 패키지를 복사하지 않습니다.

filter.xml에 경로를 추가했습니다. 누군가 나에게 샘플 POM 또는 빌드 도중 구성 요소의 복사를 달성하는 방법에 대한 구조를 제공 할 수 있습니까?

감사합니다.

+0

당신은 누락 될 수 있습니다 maven resources plugin 설정에서,'src/main/content/jcr_root'가 자원으로 추가되고 패키징 할 수 있는지 확인하십시오. – awd

답변

1

Maven 프로젝트가 아키타 입체로 생성 되었습니까? 그렇다면 autoInstallPackage 프로파일이 정의되어 있어야합니다. OSGI 번들 만 설치하는 autoInstallBundle을 사용하고 계신지 의심 스럽습니다.

그렇지 않은 경우 생성 된 CRX 패키지를 대상 인스턴스에 배포하려면 content-package-maven-plugin을 구성해야합니다.

managing packages with Maven에 대한 공식 Adobe 문서에는 충분한 정보가 있어야하지만 ACS Commons의 Lazybone Aem-multimodule-project의 샘플 구성은 다음과 같습니다.

당신의 CRX 패키지의 내용을 지정합니다

 <plugin> 
      <groupId>com.day.jcr.vault</groupId> 
      <artifactId>content-package-maven-plugin</artifactId> 
      <extensions>true</extensions> 
      <configuration> 
       <group>${packageGroup}</group> 
       <filterSource>src/main/content/META-INF/vault/filter.xml</filterSource> 
       <embeddeds> 
        <embedded> 
         <groupId>${groupId}</groupId> 
         <artifactId>${bundleArtifactId}</artifactId> 
         <target>/apps/${appsFolderName}/install</target> 
        </embedded> 
       </embeddeds> 
       <targetURL>http://\${crx.host}:\${crx.port}/crx/packmgr/service.jsp</targetURL> 
      </configuration> 
     </plugin> 

패키지를 설치하기 위해 사용하는 프로파일을 지정

<profile> 
     <id>autoInstallPackage</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>com.day.jcr.vault</groupId> 
        <artifactId>content-package-maven-plugin</artifactId> 
        <executions> 
         <execution> 
          <id>install-content-package</id> 
          <phase>install</phase> 
          <goals> 
           <goal>install</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 

출처 : 는 https://github.com/Adobe-Consulting-Services/lazybones-aem-templates/blob/master/templates/aem-multimodule-project/content/pom.xml

+0

감사! 나는 똑같이했다. 그러나 어떤 이유로 든/apps 구성 요소 패키지가 배포되지 않습니다. filter.xml에도 경로를 추가했습니다. – calculus

+0

@calculus에 OSGI 번들 이외의 패키지가 포함되어 있습니까? 'content-package-maven-plugin'의 설정뿐만 아니라'filter.xml'의 내용을 포함시켜 주시겠습니까? 감사합니다 – mickleroy

+0

응답 주셔서 감사합니다. 이제 앱 패키지를 설치할 수 있습니다. 일부 하위 폴더에 .content.xml 파일이없는 문제였습니다. 그러나 지금 다른 문제가 있습니다. 어쩌면 나는 그것을 제대로 이해하지 못할 수도 있습니다. 'Clean install -P autoInstallPackage -e'를 사용하면 apps 패키지가 설치됩니다. 그러나 자바 OSGI 번들은 org.json 종속성 (ui.apps에있는 pom)이 누락되었다고 말하는 설치 상태입니다. 클린 설치 -P autoInstallBundle -e를 사용하면 모든 것이 올바르게 설치됩니다. (pom은 번들입니다.) 입력이 있습니까? – calculus