Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Failed to execute goal (generate-scr-scrdescriptor) on project Unable to load compiled class

Avatar

Level 5
Level 5

Hi There,

am using the below plugins to build my project. and one of my servlet is getting the below error. have any one faced the same issue before.?

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-scr-plugin</artifactId> <version>1.20.0</version> <executions> <execution> <id>generate-scr-scrdescriptor</id> <goals> <goal>scr</goal> </goals> <configuration> <!-- Private service properties for all services. --> <properties> <service.vendor>Adobe</service.vendor> </properties> </configuration> </execution> </executions> <configuration> <outputDirectory>${project.build.directory}/classes</outputDirectory> </configuration> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.5.11</version> </dependency> </dependencies> </plugin>

 

[ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.20.0:scr (generate-scr-scrdescriptor) on project osgiexample.core: E:\MY-Work\TESTProj\osgiexample\core\src\main\java\osgiexample\core\servlets\MyDataProviderServlet.java : Unable to load compiled class: osgiexample.core.servlets.MyDataProviderServlet -> [Help 1]

1 Accepted Solution

Avatar

Correct answer by
Employee

You can remove @Component and @Service from MyDataProviderServlet, not needed when you have @SlingServlet.

After doing that it builds on my machine.

View solution in original post

12 Replies

Avatar

Employee

What version of maven and Java are you using?

Avatar

Level 10

Hi,

As scott stated, try this article how to create an AEM project by using Maven Adobe Archetype 10 and use those dependencies.

//https://helpx.adobe.com/experience-manager/using/first-arch10.html

Let us know, in case if you face any issues.

~ Ratna

Avatar

Level 5
Level 5

smacdonald2008 wrote...

Can you build SimpleServlet following this article: https://helpx.adobe.com/experience-manager/using/first-arch10.html

 

 

HI Scott, am using the same archetype10 structure created project. And worte the servlet. as shown below code snippet.

@SuppressWarnings("serial") @SlingServlet(paths="/services/mydataprovider/callservice") @Service(MyDataProvider.class) @Component(label = "Dropdown Data data provider", description = "This servlet provides data for the custom drop down", enabled = true, immediate = true, metatype = false) public class MyDataProviderServlet extends SlingAllMethodsServlet{ .. }

Avatar

Level 10

I can help you - but need to see more details of the code. Email me at scottm@adobe.com.  Looks like there is something mis-configured. 

Avatar

Level 5
Level 5

Feike Visser wrote...

What version of maven and Java are you using?

 

Hi Feike,

Am using Java version: 1.7.0_45 & Maven 3.1.1

~VAr

Avatar

Employee

Can you upgrade your maven version? I am using 3.3.9

Avatar

Level 5
Level 5

Feike Visser wrote...

Can you upgrade your maven version? I am using 3.3.9

 

HI Feike, 

Now i started getting a different error after maven upgrade and build.

[ERROR] E:\MY-Work\testporj\osgiexample\core\src\main\java\osgiexample\core\servlets\MyDataProviderServlet.java [1:1]: Class has more than one component definition. Check the annotations and merge the definitions to a single definition.

Code Package link ::  https://drive.google.com/file/d/0B5YKUUmw4jJaSEtkUk1ZWVF2anc/view?usp=sharing

~VAr

Avatar

Correct answer by
Employee

You can remove @Component and @Service from MyDataProviderServlet, not needed when you have @SlingServlet.

After doing that it builds on my machine.

Avatar

Level 10

Exactly - found that issue with the email code. 

Avatar

Level 5
Level 5

Feike Visser wrote...

You can remove @Component and @Service from MyDataProviderServlet, not needed when you have @SlingServlet.

After doing that it builds on my machine.

 

Thanks Feike & Scott for the great help. it compiles successfully after the removal of @Component and @Service. Appreciate Adobe Community work for the quick and active communication by Scott via email also. 

~VAr