Expand my Community achievements bar.

SOLVED

Build issue "Failed to execute goal org.apache.felix:maven-scr-plugin:1.21.0:scr" with AEM

Avatar

Level 1

Hello

I ran -PautoInstallPackage clean install -X command on AEM project.

Getting following exception :

[ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.21.0:scr (generate-scr-scrdescriptor) on project acquia-connectors-bundle: SCR Descriptor parsing had failures (see log) -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.felix:maven-scr-plugin:1.21.0:scr (generate-scr-scrdescriptor) on project acquia-connectors-bundle: SCR Descriptor parsing had failures (see log)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)

at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)

at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)

at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)

at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

Caused by: org.apache.maven.plugin.MojoFailureException: SCR Descriptor parsing had failures (see log)

at org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:251)

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)

... 19 more

Caused by: org.apache.felix.scrplugin.SCRDescriptorFailureException: SCR Descriptor parsing had failures (see log)

at org.apache.felix.scrplugin.SCRDescriptorGenerator.execute(SCRDescriptorGenerator.java:223)

at org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:237)

... 21 more

[ERROR]

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

[ERROR]

[ERROR] After correcting the problems, you can resume the build with the command

[ERROR]   mvn <goals> -rf :acquia-connectors-bundle

Also find below pom.xml :

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

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

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

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

    <groupId>com.acquia</groupId>

    <artifactId>acquia-connectors</artifactId>

    <version>1.0-SNAPSHOT</version>

    <packaging>pom</packaging>

    <name>Acquia Connectors - Reactor Project</name>

    <description>Acquia Connectors for AEM brings the Acquia Platform to your AEM environment.  This package provides connectivity to Acquia's ContentHub, Lift Recommend and ContextDB suite of products, to deliver optimized omnichannel experiences across your enterprise platforms.</description>

    <prerequisites>

        <maven>3.2.5</maven>

    </prerequisites>

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

    <!-- P R O P E R T I E S -->

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

    <properties>

        <crx.host>localhost</crx.host>

        <crx.port>14502</crx.port>

        <crx.username>admin</crx.username>

        <crx.password>admin</crx.password>

        <publish.crx.host>localhost</publish.crx.host>

        <publish.crx.port>14503</publish.crx.port>

        <publish.crx.username>admin</publish.crx.username>

        <publish.crx.password>admin</publish.crx.password>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    </properties>

    <dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>org.osgi</groupId>

                <artifactId>org.osgi.core</artifactId>

                <version>4.2.0</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>org.osgi</groupId>

                <artifactId>org.osgi.compendium</artifactId>

                <version>4.2.0</version>

                <scope>provided</scope>

            </dependency>

         

            <dependency>

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

            <artifactId>org.apache.felix.scr.annotations</artifactId>

            <version>1.9.12</version>

            <scope>provided</scope>

        </dependency>

            <dependency>

                <groupId>biz.aQute</groupId>

                <artifactId>bndlib</artifactId>

                <version>1.43.0</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>org.slf4j</groupId>

                <artifactId>slf4j-api</artifactId>

                <version>1.5.10</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>javax.servlet</groupId>

                <artifactId>servlet-api</artifactId>

                <version>2.5</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>javax.jcr</groupId>

                <artifactId>jcr</artifactId>

                <version>2.0</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

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

                <artifactId>org.apache.sling.api</artifactId>

                <version>2.8.0</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

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

                <artifactId>org.apache.sling.jcr.api</artifactId>

                <version>2.1.0</version>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>junit</groupId>

                <artifactId>junit</artifactId>

                <version>4.8.1</version>

                <scope>test</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>

    <!--

        Inclusion of repositories in POMs is controversial, to say the least.

        It would be best if you proxied the Adobe repository using a Maven

        Repository Manager. Once you do that, remove these sections.

     -->

    <repositories>

        <repository>

            <id>adobe</id>

            <name>Adobe Public Repository</name>

            <url>http://repo.adobe.com/nexus/content/groups/public/</url>

            <layout>default</layout>

        </repository>

    </repositories>

    <pluginRepositories>

        <pluginRepository>

            <id>adobe</id>

            <name>Adobe Public Repository</name>

            <url>http://repo.adobe.com/nexus/content/groups/public/</url>

            <layout>default</layout>

        </pluginRepository>

    </pluginRepositories>

    <build>

        <pluginManagement>

            <plugins>

    

            <plugin>

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

                    <artifactId>maven-scr-plugin</artifactId>

                    <version>1.21.0</version>

                    <extensions>true</extensions>

                     <configuration>               

                </configuration>              

                    <executions>

                        <execution>

                            <id>generate-scr-scrdescriptor</id>

                            <goals>

                                <goal>scr</goal>

                            </goals>

                           

                        </execution>

                    </executions>

                </plugin>

             

                <plugin>

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

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

                <extensions>true</extensions>

                <version>2.5.3</version>

            </plugin>

             <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-compiler-plugin</artifactId>

                    <version>3.1</version>

                    <inherited>true</inherited>

                    <configuration>

                    <source>1.8</source>

                    <target>1.8</target>

                </configuration>

                </plugin>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-resources-plugin</artifactId>

                    <version>2.6</version>

                </plugin>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-deploy-plugin</artifactId>

                    <version>2.7</version>

                </plugin>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-install-plugin</artifactId>

                    <version>2.4</version>

                </plugin>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-surefire-plugin</artifactId>

                    <version>2.14.1</version>

                </plugin>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-javadoc-plugin</artifactId>

                    <version>2.9</version>

                </plugin>

                <plugin>

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

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

                    <version>2.1.0</version>

                    <configuration>

                        <username>${crx.username}</username>

                        <password>${crx.password}</password>

                    </configuration>

                </plugin>

                <plugin>

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

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

                    <version>0.0.20</version>

                    <extensions>true</extensions>

                    <configuration>

                        <failOnError>true</failOnError>

                        <username>${crx.username}</username>

                        <password>${crx.password}</password>

                    </configuration>

                </plugin>

                <!--This plugin's configuration is used to store Eclipse

                    m2e settings only. It has no influence on the Maven build itself. -->

                <plugin>

                    <groupId>org.eclipse.m2e</groupId>

                    <artifactId>lifecycle-mapping</artifactId>

                    <version>1.0.0</version>

                    <configuration>

                        <lifecycleMappingMetadata>

                            <pluginExecutions>

                                <pluginExecution>

                                    <pluginExecutionFilter>

                                        <groupId>

                                            org.apache.felix

                                        </groupId>

                                        <artifactId>

                                            maven-scr-plugin

                                        </artifactId>

                                        <versionRange>

                                            [1.0.0,)

                                        </versionRange>

                                        <goals>

                                            <goal>scr</goal>

                                        </goals>

                                    </pluginExecutionFilter>

                                    <action>

                                        <ignore/>

                                    </action>

                                </pluginExecution>

                            </pluginExecutions>

                        </lifecycleMappingMetadata>

                    </configuration>

                </plugin>

            </plugins>

        </pluginManagement>

    </build>

    <profiles>

        <profile>

            <id>autoInstallBundle</id>

            <build>

                <plugins>

                    <plugin>

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

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

                        <executions>

                            <execution>

                                <id>install-bundle</id>

                                <goals>

                                    <goal>install</goal>

                                </goals>

                            </execution>

                        </executions>

                    </plugin>

                </plugins>

            </build>

        </profile>

    </profiles>

  <modules>

    <module>bundle</module>

    <module>content</module>

  </modules>

</project>

please let know the issue

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

The problem is not the pom, but rather the use of SCR annotations in your code. Please check if the log contains more details.

Jörg

View solution in original post

2 Replies

Avatar

Level 10

We have many articles that show you how to successfilly build AEM Projects. Please refer to these - depending on your AEM Version:

1. Adobe Experience Manager Help | Creating your first Adobe Experience Manager 6.2 Project using Adobe...

2. Creating an Adobe Experience Manager 6.3 Project using Adobe Maven Archetype 11

3. Creating an Adobe Experience Manager 6.3 Project using Adobe Maven Archetype 12

4. Creating an Adobe Experience Manager 6.4 Project using Adobe Maven Archetype 13

As for your issue - looks like there is an error in your code judging from this error message:

[ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.21.0:scr (generate-scr-scrdescriptor) on project acquia-connectors-bundle: SCR Descriptor parsing had failures (see log) -> [Help 1]

Avatar

Correct answer by
Employee Advisor

The problem is not the pom, but rather the use of SCR annotations in your code. Please check if the log contains more details.

Jörg