将 Maven 项目部署到 AEM?

Deploy maven project in to AEM?

我已经创建了一个包含内容和包文件夹的 Maven 项目,我可以在 Eclipse 中成功构建该项目 使用此命令:-


        mvn clean install 

但我的 bundle jar 和内容 zip 没有反映在 AEM 中,现在我手动将 zip 和 jar 上传到 AEM,但我需要直接从 eclipse 部署而不需要手动安装。

有人可以帮忙吗?

install 是一个 phase in the Maven lifecycle,在此期间,工件会安装到您的本地 Maven 存储库中。

它通常与在 AEM 中安装任何东西无关。您需要使用特定的 Maven 插件来实现。

如果您的项目是基于 Adobe archetype 生成的,则需要使用配置文件指定要部署您的应用程序。

mvn -PautoInstallPackage install

此配置文件激活 Maven Vault 插件并使用它将 CRX 包上传到 AEM。这是定义此行为的 snippet from Adobe's AEM archetype

<profile>
    <id>autoInstallPackage</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.day.jcr.vault</groupId>
                    <artifactId>content-package-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>install-package</id>
                            <goals>
                                <goal>install</goal>
                            </goals>
                            <configuration>
                                <targetURL>http://${aem.host}:${aem.port}/crx/packmgr/service.jsp</targetURL>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</profile>

查看 official documentation 了解更多信息。

如果您的项目碰巧使用 Maven CRX Plugin(Adobe 的原型及其特定的插件选择只是更广泛的 AEM 社区中可用的选项之一),您需要明确调用 crx:install 目标。

mvn install crx:install

底线是,mvn install 只负责在本地 Maven 存储库中安装工件。为了部署到 AEM,您需要调用更多东西或设置您的项目以在生命周期的特定阶段自动激活一些插件。