将maven项目部署到AEM?

时间:2017-07-07 07:13:29

标签: java aem

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

        mvn clean install 

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

有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:6)

installphase 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,您需要调用更多内容或设置项目以在生命周期的某个阶段自动激活某些插件。