Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.

AEM 6.1 | Java Classes with in components


Level 4

Hi All,

We have a requirement to have classes related to components to be with in the component folder it self. And after I compile a java class in CRXDE lite where will be the class files gets generated? and how can we access this?

Also if we have to write JUnit test classes for the same how do I do it? We are using AEM 6.1 and sightly for our components

8 Replies


Level 10

That requirement is not best practice when working with AEM. Best practice is to place Java into OSGi bundles and build OSGi bundles using Maven. See this article on how to use Maven  Archetype 10: 


For community members reading this thread and using an earlier version of AEM (ie 6) - see: 


Hope this helps


Level 2

Has this changed. The Adobe document recommends writing the java class within the component if the use class is specific to the component. here is the link HTL Java Use-API

Any comments?


Level 10

Never use CRXDE lite to write Java Classes for an HTL Component - always build your Java using a Maven Project and deploy to AEM. See Adobe Experience Manager Help | Creating an Adobe Experience Manager HTML Template Language componen...


Level 2

Thanks, That document was confusing me. But writing JavaScript Use-API is valid right?




You do you want tohave "classes related to components to be with in the component folder it self" ? It is not a recommended way.

Please have a look at :- https://helpx.adobe.com/experience-manager/using/first-arch10.html

This article covers :-

  • how to use Maven Archetype 10 command to create an AEM project
  • how to use Sightly and Sling Models
  • how to use JUNIT tests within Java files
  • how to use a scheduler service
  • how to use Sling Servlets
  • how to use a basic event handler
  • how to perform component inheritence
  • how to reference partial page files in a Sightly page component
  • how to work with ClientLibs in a Sightly component


Some Reference article for Junit Testing :- 

Link:- http://aempodcast.com/2015/testing/unit-testing-wcmuse-classes-using-mockito/#.V3Svn_l97RY

Link:- http://wcm.io/testing/aem-mock/usage.html

Link:- https://docs.adobe.com/docs/en/aem/6-1/develop/components/hobbes.html


I hope this will help you.

Thanks and Regards

Kautuk Sahni

Kautuk Sahni