Adobe內容套件Maven外掛程式
- 主題:
- 開發
建立對象:
- 管理員
- 開發人員
使用Adobe內容套件Maven外掛程式,將套件部署和管理任務整合到您的Maven專案中。
將建構的封裝部署到AEM是由AdobeContent Package Maven外掛程式執行,並且允許自動化通常使用AEM 封裝管理員執行的工作
- 從檔案系統中的檔案建立新封裝。
- 在AEM上安裝及解除安裝套件。
- 建置已在AEM上定義的套件。
- 取得AEM上安裝的套件清單。
- 從AEM移除套件。
本檔案詳細說明如何使用Maven管理這些任務。 不過,瞭解AEM專案及其封裝的結構方式也很重要。
套件和AEM專案結構
AEM as a Cloud Service遵循由最新AEM專案原型實作的套件管理和專案結構的最新最佳實務。
取得內容套件Maven外掛程式
外掛程式可從Maven中央存放庫取得。
內容套件Maven外掛程式目標與引數
若要使用Content Package Maven外掛程式,請在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外掛程式的目標
後續章節將說明「內容套件」外掛程式提供的目標與目標引數。 「一般引數」一節中說明的引數可用於大部分的目標。 套用至一個目標的引數會在該目標的區段進行說明。
外掛程式前置詞
外掛程式首碼為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設定中找到的第一個有效Proxy設定。 如果未找到Proxy設定,則不會使用Proxy。 檢視通用引數區段中的useProxy
引數。
通用引數
下表中的引數對所有目標都是通用的,除非在 目標 欄中註明。
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使用找到的第一個作用中Proxy設定,將請求代理至封裝管理員。package
以外的所有目標userId
String
admin
package
以外的所有目標verbose
boolean
false
package
以外的所有目標版本編號
建置已在AEM執行個體上定義的內容套件。
參數
組建目標的所有引數都在一般引數區段中說明。
安裝
在存放庫中安裝套件。 執行此目標不需要Maven專案。 目標已繫結至Maven組建生命週期的install
階段。
參數
除了下列引數之外,請參閱一般引數區段中的說明。
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目標的所有引數。
rm
從封裝管理員移除封裝。
參數
在一般引數區段中說明rm目標的所有引數。
解除安裝
解除安裝套裝。 套件會留在伺服器上並處於解除安裝狀態。
參數
解除安裝目標的所有引數在一般引數區段中都有說明。
說明
參數
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>