1
votes

I have created a maven project with content and bundle folder i can build the project successfully in eclipse use this command :-


        mvn clean install 

but my bundle jar and content zip not reflecting in AEM now i am manually uploading the zip and jar in to AEM but i need to deploy directly from eclipse with out manual intall.

Can anybody help on this ?

1

1 Answers

6
votes

install is a phase in the Maven lifecycle during which an artifact is installed in your local Maven repository.

It usually has nothing to do with installing anything in AEM. You need to use specific Maven plugins to achieve that.

If you generated your project based on the Adobe archetype, you need to specify, using a profile, that you want your app deployed.

mvn -PautoInstallPackage install

This profile activates the Maven Vault Plugin and uses it to upload the CRX package to AEM. Here's a snippet from Adobe's AEM archetype where this behaviour is defined.

<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>

Check out the official documentation for more information.

If, by any chance, your project happens to be using the Maven CRX Plugin (Adobe's archetype and its particular choice of plugins is just one of the options available in the wider AEM community), you need to explicitly invoke the crx:install goal.

mvn install crx:install

The bottom line is, mvn install just takes care of installing artifacts in your local Maven repository. In order to deploy to AEM, you need to invoke something more or set up your project to activate some plugins automatically in a certain phase of the lifecycle.