Eclipse용 AEM 개발자 도구

개요

AEM Developer Tools for Eclipse는 Apache License 2 아래에 릴리스된 Apache Sling](https://sling.apache.org/documentation/development/ide-tooling.html)용 [Eclipse 플러그인을 기반으로 하는 Eclipse 플러그인입니다.

AEM 개발을 쉽게 하는 여러 기능을 제공합니다.

  • Eclipse Server Connector를 통해 AEM 인스턴스와 매끄럽게 통합
  • 컨텐츠 및 OSGi 번들 모두에 대한 동기화
  • 코드 핫 스와핑 기능을 사용한 디버깅 지원
  • 특정 프로젝트 제작 마법사를 통한 간단한 AEM 프로젝트 부트스트랩
  • 간편한 JCR 속성 편집

요구 사항

AEM 개발자 도구를 사용하기 전에 다음을 수행해야 합니다.

  • 기업 Java 개발자용 Eclipse IDE를 다운로드하여 설치합니다.
  • Eclipse FAQ에 설명된 대로 eclipse.ini 구성 파일을 편집하여 Eclipse 설치를 최소 1GB의 더미 메모리가 있는지 확인합니다.
노트

macOS의 경우 Eclipse.app​을 마우스 오른쪽 단추로 클릭한 다음 패키지 내용 표시​를 선택하여 eclipse.ini.

Eclipse용 AEM 개발자 도구 설치 방법

위의 요구 사항을 충족하면 다음과 같이 플러그인을 설치할 수 있습니다.

  1. AEM 개발자 도구 웹 사이트를 엽니다.

  2. 설치 링크​를 복사합니다.

    또는 설치 링크를 사용하는 대신 아카이브를 다운로드할 수 있습니다. 이렇게 하면 오프라인 설치가 가능하지만 이 방법으로 자동 업데이트 알림이 누락됩니다.

  3. Eclipse에서 도움말 메뉴를 엽니다.

  4. 새 소프트웨어 설치​를 클릭합니다.

  5. 추가…를 클릭합니다..

  6. 이름​에 AEM Developer Tools를 입력합니다.

  7. 위치​에서 설치 URL을 복사합니다.

  8. 추가​를 클릭합니다.

  9. AEMSling 플러그인을 모두 선택합니다.

  10. 다음​을 클릭합니다.

  11. 설치 세부 사항 창에서 다음​을 다시 클릭합니다.

  12. 라이센스 계약에 동의하고 마침​을 클릭합니다.

  13. Eclipse를 다시 시작하려면 RestartNow​를 클릭합니다.

AEM 원근

Eclipse a Perspective에서는 윈도우 내에서 사용할 수 있는 작업 및 보기를 결정하고 Eclipse의 리소스와 작업 지향 상호 작용을 활성화합니다. 원근법에 대한 자세한 내용은 Eclipse 설명서를 참조하십시오.

AEM Development Tools for Eclipse는 AEM 프로젝트 및 인스턴스를 완벽하게 제어할 수 있는 AEM Perspective를 제공합니다. AEM 원근을 열려면 다음을 수행합니다.

  1. Eclipse 메뉴 모음에서 Window -> Perspective -> 원근 열기 -> 기타​을 선택합니다.
  2. 대화 상자에서 AEM​을 선택하고 열기​를 클릭합니다.

Eclipse의 AEM 관점

샘플 다중 모듈 프로젝트

AEM Developer Tools for Eclipse는 Eclipse에서 프로젝트 설정을 신속하게 시작할 수 있을 뿐만 아니라 여러 AEM 기능에 대한 모범 사례 가이드 역할을 하는 다양한 모듈 방식의 샘플 프로젝트를 제공합니다. 프로젝트 원형에 대한 자세한 내용을 살펴보십시오.

다음 단계에 따라 샘플 프로젝트를 만듭니다.

  1. 파일 > 새로 만들기 > 프로젝트 메뉴에서 AEM 섹션으로 이동하여 AEM 샘플 다중 모듈 프로젝트​를 선택합니다.

    AEM 샘플 다중 모듈 프로젝트

  2. 다음​을 클릭합니다.

    노트

    m2eclipse가 원형 카탈로그를 스캔해야 하기 때문에 이 단계는 잠시 걸릴 수 있습니다.

  3. 메뉴에서 com.adobe.granite.archetypes : sample-project-archetype : <highest-number>을 선택한 다음 다음​을 클릭합니다.

    원형 버전 선택

  4. 샘플 프로젝트에 대해 다음 필드를 제공합니다.

    • 이름
    • 그룹 ID
    • 아티팩트 ID
    • appId - 이 값을 설정하려면 고급 ​옵션을 확장해야 할 수 있습니다.
    • appTitle - 이 값을 설정하려면 고급 ​옵션을 확장해야 할 수 있습니다.
    • 패키지 - 이 값을 설정하려면 고급 ​옵션을 확장해야 합니다.

    원형 속성 정의

  5. 다음​을 클릭합니다.

  6. 그런 다음 Eclipse가 연결할 AEM 서버를 구성합니다.

    디버거 기능을 사용하려면 디버그 모드에서 AEM을 시작해야 합니다. 이 단계는 명령줄에 다음을 추가하여 수행할 수 있습니다.

        -nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
    

    AEM 서버에 연결

  7. 완료​를 클릭합니다. 프로젝트 구조가 만들어집니다.

    노트

    새로 설치하는 경우(특히, 다중 종속 항목을 다운로드하지 않은 경우) 오류가 있는 프로젝트를 만들 수 있습니다. 이 경우 잘못된 프로젝트 정의 확인에 설명된 절차를 따르십시오.

기존 프로젝트가져오기 방법

새 프로젝트 기능을 사용하여 올바른 구조를 만들 수 있습니다.

  1. 지침에 따라 샘플 다중 모듈 프로젝트를 만들면 다음 프로젝트를 만들어 문제 분리를 올바르게 수행할 수 있습니다.

    • PROJECT.ui.apps ( /apps/etc 컨텐츠)
    • PROJECT.ui.content/content 대해
    • PROJECT.core Java 번들(Java 코드를 추가하는 즉시 이러한 번들 포함)
    • PROJECT.it.launcher 통합 테스트 PROJECT.it.tests 에 대해
  2. PROJECT.ui.apps 프로젝트의 컨텐츠를 패키지의 appsetc 폴더로 바꿉니다.

    1. 프로젝트 탐색기 패널에서 PROJECT.ui.apps > src > main > content > jcr_root > apps를 펼칩니다.
    2. apps 폴더를 마우스 오른쪽 단추로 클릭하고 다음 위치에 표시 > 시스템 탐색기​를 선택합니다.
    3. 콘텐트 패키지의 appsetc 폴더를 삭제하고 appsetc 폴더에 배치합니다.
    4. Eclipse에서 PROJECT.ui.apps 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새로 고침​을 선택합니다.
  3. 그런 다음 PROJECT.ui.content에도 동일하게 수행하고 해당 콘텐트 폴더를 패키지 중 하나로 바꿉니다.

    1. 프로젝트 탐색기 패널에서 PROJECT.ui.content > src > main > content > jcr_root > content를 펼칩니다.
    2. 더 깊은 콘텐트 폴더를 마우스 오른쪽 단추로 클릭하고 다음 위치에 표시 -> 시스템 탐색기​를 선택합니다.
    3. 이제 볼 콘텐트 폴더를 삭제하고 콘텐트 패키지의 콘텐트 폴더를 여기에 배치합니다.
    4. Eclipse에서 PROJECT.ui.content 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새로 고침​을 선택합니다.
  4. 이제 이 두 프로젝트의 filter.xml 파일을 업데이트하여 콘텐츠 패키지의 컨텐츠와 일치시켜야 합니다. 이렇게 하려면 별도의 텍스트/코드 편집기에서 컨텐츠 패키지의 META-INF/vault/filter.xml 파일을 엽니다.

    • 다음은 filter.xml 파일이 어떻게 표시되는지 보여주는 예입니다.
    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
        <filter root="/apps/foo"/>
        <filter root="/apps/foundation/components/bar"/>
        <filter root="/etc/designs/foo"/>
        <filter root="/content/foo"/>
        <filter root="/content/dam/foo"/>
        <filter root="/content/usergenerated/content/foo"/>
    </workspaceFilter>
    
  5. 두 프로젝트로 분할된 패키지의 내용에 대해서는 이러한 필터 규칙을 두 개의 프로젝트로 분할하고 그에 따라 두 프로젝트의 filter.xml 파일을 업데이트해야 합니다.

    1. Eclipse에서 PROJECT.ui.apps/src/main/content/META-INF/filter.xml을(를) 엽니다.

    2. <workspaceFilter> 요소의 내용을 /apps/etc로 시작하는 패키지의 규칙으로 바꿉니다.

      • 예:

        <?xml version="1.0" encoding="UTF-8"?>
        <workspaceFilter version="1.0">
           <filter root="/apps/foo"/>
           <filter root="/apps/foundation/components/bar"/>
           <filter root="/etc/designs/foo"/>
        </workspaceFilter>
        
    3. 그런 다음 PROJECT.ui.content/src/main/content/META-INF/filter.xml을(를) 엽니다.

    4. 규칙을 /content으로 시작하는 패키지의 규칙으로 바꿉니다.

      • 예:

        <?xml version="1.0" encoding="UTF-8"?>
        <workspaceFilter version="1.0">
           <filter root="/content/foo"/>
           <filter root="/content/dam/foo"/>
           <filter root="/content/usergenerated/content/foo"/>
        </workspaceFilter>
        
  6. 모든 변경 내용을 저장해야 합니다. 이제 해당 새 컨텐츠를 AEM 인스턴스와 동기화할 수 있습니다.

  7. [서버] 패널에서 연결이 시작되었는지, 시작하지 않았는지 확인합니다.

  8. 정리 및 게시 아이콘을 클릭합니다.

작업이 완료되면 패키지가 인스턴스에서 실행되고 저장되면 변경 내용이 자동으로 인스턴스에 동기화됩니다.

프로젝트에서 패키지를 다시 빌드하려면 PROJECT.ui.apps 또는 PROJECT.ui.content을 마우스 오른쪽 단추로 클릭하고 Run As -> Maven Install​을 선택합니다.

이제 패키지가 포함된 대상 폴더(예:PROJECT.ui.apps-0.0.1-SNAPSHOT.zip).

문제 해결

잘못된 프로젝트 정의해결

잘못된 종속성 및 프로젝트 정의를 해결하려면 다음과 같이 하십시오.

  1. 생성된 프로젝트를 모두 선택합니다.
  2. 마우스 오른쪽 버튼을 클릭합니다.
  3. 컨텍스트 메뉴에서 Maven -> 프로젝트 업데이트​를 선택합니다.
  4. 스냅샷/릴리스 업데이트 강제 적용​을 선택합니다.
  5. 확인​을 클릭합니다.

Eclipse는 필요한 종속성을 다운로드합니다. 잠시 시간이 걸릴 수 있습니다.

추가 정보

Eclipse 웹 사이트용 공식 Apache Sling IDE 툴은 다음과 같은 유용한 정보를 제공합니다.

다음 공식 Eclipse 설명서는 환경을 설정하는 데 도움이 될 수 있습니다.

이 페이지에서는