콘텐츠 패키지 Maven 플러그인의 목표
콘텐츠 패키지 플러그인이 제공하는 목표 및 목표 매개 변수는 다음 섹션에 설명되어 있습니다. 공통 매개변수 섹션에 설명된 매개변수는 대부분의 목표에 사용할 수 있습니다. 하나의 목표에 적용되는 매개변수는 해당 목표에 대한 섹션에 설명되어 있습니다.
플러그인 접두사
플러그 인 접두사는 content-package
입니다. 다음 예제와 같이 이 접두사를 사용하여 명령줄에서 목표를 실행합니다.
mvn content-package:build
매개 변수 접두사
달리 명시되지 않는 한 플러그인 목표 및 매개 변수는 다음 예제와 같이 vault
접두사를 사용합니다.
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
프록시
AEM용 프록시를 사용하는 목표는 Maven 설정에 있는 첫 번째 유효한 프록시 구성을 사용합니다. 프록시 구성을 찾을 수 없으면 프록시가 사용되지 않습니다. 일반 매개 변수 섹션에서 useProxy
매개 변수를 참조하십시오.
일반 매개 변수
다음 표의 매개 변수는 Goals 열에 명시되어 있는 경우를 제외하고 모든 목표에 공통됩니다.
이름 | 유형 | 필수 | 기본 값 | 설명 | 목표 |
---|---|---|---|---|---|
failOnError | boolean | 아니요 | false | 값이 true 이면 오류가 발생할 때 빌드가 실패합니다. 값이 false 이면 빌드가 오류를 무시합니다. | package 을(를) 제외한 모든 목표 |
name | String | build : 예, install : 아니요, rm : 예 | build : 기본값 없음, install : Maven 프로젝트의 artifactId 속성 값 | 작업할 패키지의 이름 | ls 을(를) 제외한 모든 목표 |
password | String | 예 | admin | AEM 인증에 사용되는 암호 | package 을(를) 제외한 모든 목표 |
serverId | String | 아니요 | 인증을 위해 사용자 이름과 암호를 검색할 서버 ID | package 을(를) 제외한 모든 목표 | |
targetURL | String | 예 | http://localhost:4502/crx/packmgr/service.jsp | AEM 패키지 관리자의 HTTP 서비스 API의 URL | package 을(를) 제외한 모든 목표 |
timeout | int | 아니요 | 5 | 패키지 관리자 서비스와 통신하기 위한 연결 시간 제한(초) | package 을(를) 제외한 모든 목표 |
useProxy | boolean | 아니요 | true | 값이 true 이면 Maven이 패키지 관리자에 대한 요청을 프록시하기 위해 찾은 첫 번째 활성 프록시 구성을 사용합니다. | package 을(를) 제외한 모든 목표 |
userId | String | 예 | admin | AEM으로 인증할 사용자 이름 | package 을(를) 제외한 모든 목표 |
verbose | boolean | 아니요 | false | 자세한 로깅 활성화 또는 비활성화 | package 을(를) 제외한 모든 목표 |
빌드
AEM 인스턴스에 이미 정의된 콘텐츠 패키지를 빌드합니다.
매개변수
빌드 목표에 대한 모든 매개 변수는 일반 매개 변수 섹션에 설명되어 있습니다.
설치
저장소에 패키지를 설치합니다. 이 목표를 실행하려면 Maven 프로젝트가 필요하지 않습니다. 목표는 Maven 빌드 주기의 install
단계에 바인딩되어 있습니다.
매개변수
다음 매개 변수 외에 일반 매개 변수 섹션의 설명을 참조하십시오.
이름 | 유형 | 필수 | 기본 값 | 설명 |
---|---|---|---|---|
artifact | String | 아니요 | Maven 프로젝트의 artifactId 속성 값 | groupId:artifactId:version[:packaging] 형식의 문자열 |
artifactId | String | 아니요 | 없음 | 설치할 아티팩트의 ID |
groupId | String | 아니요 | 없음 | 설치할 아티팩트의 groupId |
install | boolean | 아니요 | true | 패키지를 업로드할 때 패키지를 자동으로 압축 해제할지 여부를 결정합니다. |
localRepository | org.apache.maven.artifact.repository.ArtifactRepository | 아니요 | localRepository 시스템 변수의 값 | 시스템 속성이 항상 사용되므로 플러그인 구성을 사용하여 구성할 수 없는 로컬 Maven 저장소입니다 |
packageFile | java.io.File | 아니요 | Maven 프로젝트에 대해 정의된 기본 아티팩트 | 설치할 패키지 파일의 이름 |
packaging | String | 아니요 | zip | 설치할 아티팩트의 패키징 유형 |
pomRemoteRepositories | java.util.List | 예 | Maven 프로젝트에 대해 정의된 remoteArtifactRepositories 속성의 값 | 이 값은 플러그인 구성을 사용하여 구성할 수 없으며 프로젝트에 지정해야 합니다. |
project | org.apache.maven.project.MavenProject | 예 | 플러그인이 구성된 프로젝트 | 프로젝트에 플러그인 구성이 포함되어 있으므로 암시적인 Maven 프로젝트 |
repositoryId (POM), repoID (명령줄) | String | 아니요 | temp | 아티팩트가 검색되는 저장소의 ID |
repositoryUrl (POM), repoURL (명령줄) | String | 아니요 | 없음 | 객체를 검색할 저장소의 URL |
버전 | 문자열 | 아니요 | 없음 | 설치할 아티팩트의 버전입니다 |
이름 | 유형 | 필수 | 기본 값 | 설명 |
---|---|---|---|---|
detail | boolean | 아니요 | false | 각 목표에 대해 설정 가능한 모든 속성을 표시할지 여부를 결정합니다. |
goal | String | 아니요 | 없음 | 이 매개 변수는 도움말을 표시할 목표의 이름을 정의합니다. 값을 지정하지 않으면 모든 목표에 대한 도움말이 표시됩니다. |
indentSize | int | 아니요 | 2 | 각 수준의 들여쓰기에 사용할 공백 수입니다(정의된 경우 양수여야 함). |
lineLength | int | 아니요 | 80 | 표시 라인의 최대 길이(정의된 경우 양수여야 함) |
패키지에 썸네일 이미지 또는 속성 파일 포함
기본 패키지 구성 파일을 대체하여 패키지 속성을 사용자 지정합니다. 예를 들어 패키지 관리자에서 패키지를 구분할 축소판 이미지를 포함합니다.
소스 파일은 파일 시스템의 어디에나 위치할 수 있습니다. 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 프로젝트 생성
최신 AEM Project Archetype은 온-프레미스 및 AMS 구현 모두에 대한 모범 사례 패키지 구조를 구현하며 모든 AEM 프로젝트에 권장됩니다.