Eclipse용 AEM 개발자 도구

개요

AEM Developer Tools for Eclipse는 Apache License 2 아래에 릴리스된 Apache Sling🔗용 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?lang=ko"/>
        <filter root="/apps/foundation/components/bar?lang=ko"/>
        <filter root="/etc/designs/foo?lang=ko"/>
        <filter root="/content/foo?lang=ko"/>
        <filter root="/content/dam/foo?lang=ko"/>
        <filter root="/content/usergenerated/content/foo?lang=ko"/>
    </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?lang=ko"/>
           <filter root="/apps/foundation/components/bar?lang=ko"/>
           <filter root="/etc/designs/foo?lang=ko"/>
        </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?lang=ko"/>
           <filter root="/content/dam/foo?lang=ko"/>
           <filter root="/content/usergenerated/content/foo?lang=ko"/>
        </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 설명서는 환경을 설정하는 데 도움이 될 수 있습니다.

이 페이지에서는

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now