Adobe內容套件Maven外掛程式 adobe-content-package-maven-plugin
使用Adobe內容套件Maven外掛程式,將套件部署和管理任務整合到您的Maven專案中。
將建構的封裝部署到AEM是由AdobeContent Package Maven外掛程式執行,並且允許自動化通常使用AEM 封裝管理員:執行的工作
- 從檔案系統中的檔案建立新封裝。
- 在AEM上安裝及解除安裝套件。
- 建置已在AEM上定義的套件。
- 取得AEM上安裝的套件清單。
- 從AEM移除套件。
本檔案詳細說明如何使用Maven管理這些任務。 不過,瞭解AEM專案及其封裝的結構方式也很重要。
套件和AEM專案結構 aem-project-structure
AEM as a Cloud Service遵循由最新AEM專案原型實作的套件管理和專案結構的最新最佳實務。
取得內容套件Maven外掛程式 obtaining-the-content-package-maven-plugin
外掛程式可從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外掛程式的目標 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設定中找到的第一個有效Proxy設定。 如果未找到Proxy設定,則不會使用Proxy。 檢視通用引數區段中的useProxy
引數。
通用引數 common-parameters
下表中的引數對所有目標都是通用的,除非在 目標 欄中註明。
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
以外的所有目標版本編號 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專案原型來產生AEM專案 using-archetypes
最新的AEM專案原型會為內部部署和AMS實作實施最佳實務套件結構,並建議用於所有AEM專案。