将maven项目部署到AEM?

Meh*_*fin 1 java aem

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


        mvn clean install 
Run Code Online (Sandbox Code Playgroud)

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

有人可以帮忙吗?

ton*_*edz 6

install是Maven生命周期中的一个阶段,在此阶段中,工件安装在本地Maven存储库中.

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

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

mvn -PautoInstallPackage install
Run Code Online (Sandbox Code Playgroud)

此配置文件激活Maven Vault插件并使用它将CRX包上载到AEM.这是Adobe的AEM原型的片段,其中定义了此行为.

<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>
Run Code Online (Sandbox Code Playgroud)

查看官方文档以获取更多信息.

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

mvn install crx:install
Run Code Online (Sandbox Code Playgroud)

底线是,mvn install只需在本地Maven存储库中安装工件.为了部署到AEM,您需要调用更多内容或设置项目以在生命周期的某个阶段自动激活某些插件.