Adobe 컨텐츠 패키지 Maven 플러그인 adobe-content-package-maven-plugin
Adobe Content Package Maven 플러그인을 사용하여 패키지 배포 및 관리 작업을 Maven 프로젝트에 통합합니다.
빌드된 패키지를 AEM에 배포하는 작업은 Adobe Content Package Maven 플러그인에 의해 수행되며, AEM 패키지 관리자:를 사용하여 일반적으로 수행되는 작업을 자동화할 수 있습니다.
- 파일 시스템의 파일에서 새 패키지를 만듭니다.
- AEM에서 패키지를 설치 및 제거합니다.
- AEM에 이미 정의된 패키지를 빌드합니다.
- AEM에 설치된 패키지 목록을 가져옵니다.
- AEM에서 패키지를 제거합니다.
이 문서에서는 Maven을 사용하여 이러한 작업을 관리하는 방법을 자세히 설명합니다. 그러나 AEM 프로젝트와 패키지의 구성 방식을 이해하는 것도 중요합니다.
패키지 및 AEM 프로젝트 구조 aem-project-structure
AEM as a Cloud Service은 최신 AEM Project Archetype에 의해 구현된 패키지 관리 및 프로젝트 구조에 대한 최신 모범 사례를 준수합니다.
콘텐츠 패키지 Maven 플러그인 가져오기 obtaining-the-content-package-maven-plugin
플러그인은 Maven 중앙 리포지토리에서 사용할 수 있습니다.
콘텐츠 패키지 Maven 플러그인 목표 및 매개 변수
Content Package Maven Plugin을 사용하려면 POM 파일의 빌드 요소 내에 다음 플러그인 요소를 추가합니다.
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- parameters and values common to all goals, as required -->
</configuration>
</plugin>
Maven이 플러그인을 다운로드할 수 있도록 하려면 이 페이지의 콘텐츠 패키지 Maven 플러그인 가져오기 섹션에 제공된 프로필을 사용하십시오.
콘텐츠 패키지 Maven 플러그인의 목표 goals-of-the-content-package-maven-plugin
콘텐츠 패키지 플러그인이 제공하는 목표 및 목표 매개 변수는 다음 섹션에 설명되어 있습니다. 공통 매개변수 섹션에 설명된 매개변수는 대부분의 목표에 사용할 수 있습니다. 하나의 목표에 적용되는 매개변수는 해당 목표에 대한 섹션에 설명되어 있습니다.
플러그인 접두사 plugin-prefix
플러그 인 접두사는 content-package
입니다. 다음 예제와 같이 이 접두사를 사용하여 명령줄에서 목표를 실행합니다.
mvn content-package:build
매개 변수 접두사 parameter-prefix
달리 명시되지 않는 한 플러그인 목표 및 매개 변수는 다음 예제와 같이 vault
접두사를 사용합니다.
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
프록시 proxies
AEM용 프록시를 사용하는 목표는 Maven 설정에 있는 첫 번째 유효한 프록시 구성을 사용합니다. 프록시 구성을 찾을 수 없으면 프록시가 사용되지 않습니다. 일반 매개 변수 섹션에서 useProxy
매개 변수를 참조하십시오.
일반 매개 변수 common-parameters
다음 표의 매개 변수는 Goals 열에 명시되어 있는 경우를 제외하고 모든 목표에 공통됩니다.
failOnError
boolean
false
true
이면 오류가 발생할 때 빌드가 실패합니다. 값이 false
이면 빌드가 오류를 무시합니다.package
을(를) 제외한 모든 목표name
String
build
: 예, install
: 아니요, rm
: 예build
: 기본값 없음, install
: Maven 프로젝트의 artifactId
속성 값ls
을(를) 제외한 모든 목표password
String
admin
package
을(를) 제외한 모든 목표serverId
String
package
을(를) 제외한 모든 목표targetURL
String
http://localhost:4502/crx/packmgr/service.jsp
package
을(를) 제외한 모든 목표timeout
int
5
package
을(를) 제외한 모든 목표useProxy
boolean
true
true
이면 Maven이 패키지 관리자에 대한 요청을 프록시하기 위해 찾은 첫 번째 활성 프록시 구성을 사용합니다.package
을(를) 제외한 모든 목표userId
String
admin
package
을(를) 제외한 모든 목표verbose
boolean
false
package
을(를) 제외한 모든 목표빌드 build
AEM 인스턴스에 이미 정의된 콘텐츠 패키지를 빌드합니다.
매개변수 parameters
빌드 목표에 대한 모든 매개 변수는 일반 매개 변수 섹션에 설명되어 있습니다.
설치 install
저장소에 패키지를 설치합니다. 이 목표를 실행하려면 Maven 프로젝트가 필요하지 않습니다. 목표는 Maven 빌드 주기의 install
단계에 바인딩되어 있습니다.
매개변수 parameters-1
다음 매개 변수 외에 일반 매개 변수 섹션의 설명을 참조하십시오.
artifact
String
artifactId
속성 값groupId:artifactId:version[:packaging]
형식의 문자열artifactId
String
groupId
String
groupId
install
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
시스템 변수의 값packageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
속성의 값project
org.apache.maven.project.MavenProject
repositoryId
(POM), repoID
(명령줄)String
temp
repositoryUrl
(POM), repoURL
(명령줄)String
ls ls
패키지 관리자에 배포된 패키지를 나열합니다.
매개변수 parameters-2
ls 목표의 모든 매개 변수는 공통 매개 변수 섹션에 설명되어 있습니다.
rm rm
패키지 관리자에서 패키지를 제거합니다.
매개변수 parameters-3
rm 목표의 모든 매개 변수는 일반 매개 변수 섹션에 설명되어 있습니다.
제거 uninstall
패키지를 제거합니다. 패키지는 서버에 제거됨 상태로 유지됩니다.
매개변수 parameters-4
제거 목표의 모든 매개 변수는 일반 매개 변수 섹션에 설명되어 있습니다.
도움말 help
매개변수 parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
패키지에 썸네일 이미지 또는 속성 파일 포함 including-a-thumbnail-image-or-properties-file-in-the-package
기본 패키지 구성 파일을 대체하여 패키지 속성을 사용자 지정합니다. 예를 들어 패키지 관리자에서 패키지를 구분할 축소판 이미지를 포함합니다.
소스 파일은 파일 시스템의 어디에나 위치할 수 있습니다. POM 파일에서 빌드 리소스를 정의하여 패키지에 포함할 원본 파일을 target/vault-work/META-INF
(으)로 복사합니다.
다음 POM 코드는 프로젝트 원본의 META-INF
폴더에 있는 파일을 패키지에 추가합니다.
<build>
<resources>
<!-- vault META-INF resources (thumbnail and so on) -->
<resource>
<directory>${basedir}/src/main/content/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
</resources>
</build>
다음 POM 코드는 패키지에 썸네일 이미지만 추가합니다. 썸네일 이미지의 이름은 thumbnail.png
이어야 하며 패키지의 META-INF/vault/definition
폴더에 있어야 합니다. 이 예제에서 소스 파일은 프로젝트의 /src/main/content/META-INF/vault/definition
폴더에 있습니다.
<build>
<resources>
<!-- thumbnail only -->
<resource>
<directory>${basedir}/src/main/content/META-INF/vault/definition</directory>
<targetPath>../vault-work/META-INF/vault/definition</targetPath>
</resource>
</resources>
</build>
AEM Project Archetype을 사용하여 AEM 프로젝트 생성 using-archetypes
최신 AEM Project Archetype은 온-프레미스 및 AMS 구현 모두에 대한 모범 사례 패키지 구조를 구현하며 모든 AEM 프로젝트에 권장됩니다.