Menu

Showing posts with label Component entry can not be located. Show all posts
Showing posts with label Component entry can not be located. Show all posts

Service-Component entry can not be located in JAR: OSGI-INF

We might come to this issue while building the AEM code. The issue is with the @compoennt properties or the definition given for the file. In most of the cases error "Service-Component entry can not be located in JAR: OSGI-INF" says, that the @component name property which we are trying to give here is a duplicate and that name has been already given to a class, hence this name can not be accepted for a new component because it causes the unnecessary conflict between two components, and difficult to generate the meta-type or metadata, and manage the OSGi component.


[ERROR] Bundle com.rashid.aem.bundles:servlets:bundle:1.0.0-SNAPSHOT : Service-Component entry can not be located in JAR: OSGI-INF/com.rashid.aem.servlets.MobileAppImageServlet.xml~

[ERROR] Error(s) found in bundle configuration


Resolution

Update the name property value under @component annotation.


Example:

@Component( immediate = true,
service = Servlet.
class,
name =
"com.rashid.aem.servlets.GetAllImageServlet",
property = {
"sling.servlet.selectors=mobileapp",
"sling.servlet.extensions=json",
"sling.servlet.methods=GET",
"sling.servlet.paths=/bin/getAllImages"})