In this post, we will learn how to sync the code between AEM Instance and Eclipse.

Versions Used : AEM -> 6.3 , Eclipse -> Oxygen 3a

We will use AEM Developer tools eclipse plugin to do the sync operation.

Install AEM Developer tools in Eclipse

1) Open eclipse -> Go to Help -> click on Eclipse Marketplace.

EclipseContentSync-1

2) Search for AEM Developer tools and install the plugin.

EclipseContentSync-2

Import AEM maven project into Eclipse

In Project explorer view -> right click and select Import option.

On Import popup window -> select maven -> existing maven projects.

EclipseContentSync-3

Click Next -> browse maven project root directory.

EclipseContentSync-4

Click finish. Now our AEM project is imported into eclipse.

Change the default perspective to AEM perspective

Go to Windows -> perspective -> open perspective -> select AEM -> click open

EclipseContentSync-5

Now we have our project on AEM perspective.

EclipseContentSync-5-1

Convert the maven modules into content and bundle projects

Right click on demo.core module -> configure -> click on convert to Bundle Project.

EclipseContentSync-6

similarly right click on demo.ui.apps module -> select configure -> click on convert to Content Project.

Configure AEM server connector in Eclipse Servers view

To connect eclipse to AEM server click on “no servers are available” link in servers view.

EclipseContentSync-7

Click finish. To edit the server connection details like port , debug port, username and password,  double click on the configured server connector.

EclipseContentSync-9

Edit the properties and save.

To add the bundle and ui.apps package to the configured server -> right click on the server connector -> select Add or Remove.

EclipseContentSync-9.1

Add the bundles from left section to the right using Add button and click finish.

EclipseContentSync-8

Start AEM Instance

EclipseContentSync-11

Once the AEM Instance is started, go to eclipse and start the configured server in the Eclipse.

EclipseContentSync-10

once server is started, the bundle and ui.apps modules will be published to the AEM server.

To verify go to OSGi bundles console and find the demo.core module.

EclipseContentSync-12

If the bundle and ui.apps module is not published to the AEM server, republish the modules by removing all modules and adding them again to the Eclipse server connector.

EclipseContentSync-13

Now the Demo project is deployed to AEM.

Importing the Code changes from AEM Instance to Eclipse

open CRXDE and edit a component html file.

EclipseContentSync-14

Helloword.html file is updated with text “welcome to my world”as shown above.

To get the updated component to eclipse workspace, in eclipse right click on helloworld.html file and click on Import from server.

EclipseContentSync-15

The file will be imported from the AEM Instance to eclipse.

EclipseContentSync-17

Exporting the code changes from Eclipse to AEM

Updated helloword.html with some text in eclipse workspace as shown below.

EclipseContentSync-18

The updated file will automatically synchronized/pushed to AEM Instance.

EclipseContentSync-19

Thanks,

Madhu Samala