Expand my Community achievements bar.

SOLVED

How to create/setup AEM Project without mvn archetype:generate command

Avatar

Level 2

Is there any way to create new AEM Multi-module project in eclipse without using any maven archetype command or or any tool like lazybone.

Please share your thoughts.

1 Accepted Solution

Avatar

Correct answer by
Level 10

If you want to build an AEM project  without a tool - you can use CRXDE lite. Build nodes manually - see Scott's Digital Community: Creating your First Adobe Experience Manager 6.3 website.

View solution in original post

5 Replies

Avatar

Level 10

Hi Pankaj,

Yes you can do it without using maven Archetype command or Lazybones.

1. In eclipse, Install AEM Plugin from marketplace

2. Then create the multi module project using AEM plugin.

Here is the Community article which shows how to create project without maven archetype plugin or Lazybones: http://www.aemcq5tutorials.com/tutorials/adobe-aem-cq5-tutorials/create-aem-multi-module-project/

Hope this helps!!

Thanks,

Ratna.

Avatar

Level 2

Thanks Ratan.

This option itself use maven archetype to create AEM project.

Is there any other option to create AEM multi-module project without using any tool.

Avatar

Level 10

Hi Pankaj,

If you use maven, then definitely you have to create AEM multi-module project and using maven archetype. The above article I mentioned with creating the project using eclipse and not command line.

May I know which build type you are using either Maven or Gradle?

Thanks,

Ratna.

Avatar

Correct answer by
Level 10

If you want to build an AEM project  without a tool - you can use CRXDE lite. Build nodes manually - see Scott's Digital Community: Creating your First Adobe Experience Manager 6.3 website.

Avatar

Level 2

Below are the steps I followed to create AEM project in eclipse without using any tool:

1. Right click in Project Explorer in eclipse.

2. Select New -> Project -> Maven -> Maven Project

3. Select checkbox : Create a simple Project(skip archetype selection)

4. UnSelect checkbox: Use default Workspace location, and then specify the location of the project in the textbox.

5. Click Next

6. Specify Group Id (com.test1), Artifact Id (test1-project), Version (0.0.1), Packaging (pom), Name (test1-project) , description (test1-project description)

7. Leave Parent Project section as empty.

8. Click Finish

9. Download "multimodule-content-package-archetype-1.0.2.jar" from maven.

10. Extract it

11. Copy below sections from "multimodule-content-package-archetype-1.0.2/archetype-resources/pom.xml" and paste into "test2-project/pom.xml"

    prerequisites, properties, repositories,  pluginRepositories, dependencies, build, profiles

12. Add modules section to  "test2-project/pom.xml"

     <modules>

          <module>bundle</module>

          <module>content</module>

     </modules>

13. Delete "src" folder in "test1-project".

14. Create below folders in "test1-project"

      "test1-project/bundle/src/main/java/"

     "test1-project/bundle/test/java/"

     "test1-project/bundle/target"

15. Copy pom.xml from "multimodule-content-package-archetype-1.0.2/archetype-resources/bundle/" and paste it into "test1-project/bundle/"

16. Modify below parts of "test1-project/bundle/pom.xml":

    <parent>

          <groupId>com.test1</groupId>

          <artifactId>test1-project</artifactId>

          <version>0.0.1</version>

     </parent>

<!-- ====================================================================== -->

<!-- P R O J E C T D E S C R I P T I O N -->

<!-- ====================================================================== -->

<artifactId>test1-bundle</artifactId>

<packaging>bundle</packaging>

<name>Test Project Bundle</name>

<plugin>

        <groupId>org.apache.felix</groupId>

            <artifactId>maven-bundle-plugin</artifactId>

            <extensions>true</extensions>

            <configuration>

                <instructions>

                    <Bundle-SymbolicName>com.test1.test1-project</Bundle-SymbolicName>

                </instructions>

            </configuration>

    </plugin>

    <plugin>

       <groupId>org.apache.sling</groupId>

        <artifactId>maven-sling-plugin</artifactId>

        <configuration>

            <slingUrl>http://${crx.host}:${crx.port}/apps/test1-project/install</slingUrl>

            <usePut>true</usePut>

        </configuration>

    </plugin>

17. Create below folders in "test1-project"

     "test1-project/content/src/main/content/jcr_root"

     "test1-project/content/src/main/content/META-INF/vault"

     "test1-project/content/test/java/"

     "test1-project/content/target"

18. Copy files under path "multimodule-content-package-archetype-1.0.2/archetype-resources/content/src/main/content/META-INF/vault"

    and paste it into path "test1-project/content/src/main/content/META-INF/vault"

19. Modify below files as per project

     "test1-project/content/src/main/content/META-INF/vault/filter.xml"

     "test1-project/content/src/main/content/META-INF/vault/properties.xml"

     "test1-project/content/src/main/content/META-INF/vault/definition/.content.xml"

20. Copy pom.xml from "multimodule-content-package-archetype-1.0.2/archetype-resources/content/" and paste it into "test1-project/content/"

21. Modify below parts of "test1-project/content/pom.xml":

        <parent>

               <groupId>com.test1</groupId>

               <artifactId>test1-project</artifactId>

               <version>0.0.1</version>

        </parent>

    <!-- ====================================================================== -->

    <!-- P R O J E C T D E S C R I P T I O N -->

    <!-- ====================================================================== -->

    <artifactId>test1-content</artifactId>

    <packaging>content-package</packaging>

    <name>Test Project Content Package</name>

   <dependencies>

        <dependency>

            <groupId>com.test1</groupId>

            <artifactId>test1-bundle</artifactId>

            <version>0.0.1</version>

        </dependency>

    </dependencies>

<plugin>

        <groupId>com.day.jcr.vault</groupId>

        <artifactId>content-package-maven-plugin</artifactId>

        <extensions>true</extensions>

        <configuration>

            <group>test1-packages</group>

            <filterSource>src/main/content/META-INF/vault/filter.xml</filterSource>

            <embeddeds>

                <embedded>

                    <groupId>com.test1</groupId>

                    <artifactId>test1-bundle</artifactId>

                    <target>/apps/test1/install</target>

                </embedded>

            </embeddeds>

            <targetURL>http://${crx.host}:${crx.port}/crx/packmgr/service.jsp</targetURL>

        </configuration>

    </plugin>

22. Add below profile section in "test1-project/content/pom.xml":

     <profile>

          <id>local</id>

          <build>

          <plugins>

               <plugin>

                    <groupId>com.day.jcr.vault</groupId>

                    <artifactId>maven-vault-plugin</artifactId>

                    <executions>

                    <execution>

                    <id>install-package</id>

                    <goals>

                    <goal>install</goal>

                    </goals>

                    <configuration>

                         <targetURL>http://localhost:4502/crx/packmgr/service.jsp</targetURL>

                         <userId>admin</userId>

                         <password>admin</password>

                    </configuration>

                    </execution>

                    </executions>

               </plugin>

          </plugins>

          </build>

</profile>

23. Right click Project Explorer in eclipse and select "Import -> Maven -> Existing Maven Project".

      Select Root directory "test1-project\bundle\"

     Click Finish

24. Right click Project Explorer in eclipse and select "Import -> Maven -> Existing Maven Project".

      Select Root directory "test1-project\content\"

      Click Finish

25. Create Run Configuration in eclise "Maven Build -> test1-project"

      Name: test1-project

      Base Directory: ${workspace_loc:/test1-project}

     Goals: clean install

     Profiles: local

26. Execute the Run Configuration: "test1-project"