Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Following AEM 6.3 upgrade custom component configuration labels are missing

Avatar

Level 3

We performed a 6.3 upgrade recently. For various reasons we stuck with Felix 1.9.8 annotations for now so I'm wondering if that's related. Anyway, labels and descriptions for our custom component configurations are missing. They look like this in the system config console.

1511297_pastedImage_0.png

The code for our main pom.xml looks like it does below. I'm wondering if something in our Maven configuration is incorrect or if this is just how Felix-annotated configuration will look and we need to speed up the move to OSGI annotations.

<?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.oursite</groupId>
  <artifactId>oursite</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Our Site</name>
  <description>Maven Multimodule project for Our Site.</description>

   <!-- ====================================================================== -->
  <!-- P R O P E R T I E S -->
  <!-- ====================================================================== -->
   <properties>
  <crx.host>localhost</crx.host>
  <crx.port>4502</crx.port>
  <publish.crx.host>localhost</publish.crx.host>
  <publish.crx.port>4503</publish.crx.port>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>

  <dependencyManagement>
  <dependencies>
   <!-- OSGi Dependencies -->
   <dependency>
  <groupId>org.osgi</groupId>
  <artifactId>org.osgi.core</artifactId>
  <version>6.0.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.osgi</groupId>
  <artifactId>osgi.cmpn</artifactId>
  <version>6.0.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.osgi</groupId>
  <artifactId>osgi.annotation</artifactId>
  <version>6.0.1</version>
  <scope>provided</scope>
  </dependency>
   <!-- Logging Dependencies -->
   <dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.25</version>
  <scope>provided</scope>
  </dependency>
   <!-- Adobe AEM Dependencies -->
   <dependency>
  <groupId>com.adobe.aem</groupId>
  <artifactId>uber-jar</artifactId>
  <version>6.3.1.2</version>
  <scope>provided</scope>
  <classifier>obfuscated-apis</classifier>
  </dependency>
  <dependency>
  <groupId>com.adobe.cq</groupId>
  <artifactId>core.wcm.components.all</artifactId>
  <type>zip</type>
  <version>1.0.6</version>
  </dependency>
   <!-- Apache Sling Dependencies -->
   <dependency>
  <groupId>org.apache.sling</groupId>
  <artifactId>org.apache.sling.models.api</artifactId>
  <version>1.3.2</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.sling</groupId>
  <artifactId>org.apache.sling.models.impl</artifactId>
  <version>1.4.6</version>
  <scope>provided</scope>
  </dependency>
   <!-- Servlet API -->
   <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.1</version>
  <scope>provided</scope>
  </dependency>
   <!-- JCR -->
   <dependency>
  <groupId>javax.jcr</groupId>
  <artifactId>jcr</artifactId>
  <version>2.0</version>
  <scope>provided</scope>
  </dependency>
   <!-- Taglibs -->
   <dependency>
  <groupId>com.day.cq.wcm</groupId>
  <artifactId>cq-wcm-taglib</artifactId>
  <version>5.7.4</version>
  <scope>provided</scope>
  </dependency>

   <!-- Testing -->
   <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
  </dependency>
  <dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.5.11</version>
  <scope>test</scope>
  </dependency>
  <dependency>
  <groupId>org.mockito</groupId>
  <artifactId>mockito-core</artifactId>
  <version>2.7.22</version>
  <scope>test</scope>
  </dependency>
  <dependency>
  <groupId>junit-addons</groupId>
  <artifactId>junit-addons</artifactId>
  <version>1.4</version>
  <scope>test</scope>
  </dependency>


   <!-- Supporting Customizations -->
   <dependency>
  <groupId>org.apache.felix</groupId>
  <artifactId>org.apache.felix.configadmin</artifactId>
  <version>1.8.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.felix</groupId>
  <artifactId>org.apache.felix.eventadmin</artifactId>
  <version>1.4.2</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.felix</groupId>
  <artifactId>org.apache.felix.scr</artifactId>
  <version>2.0.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.felix</groupId>
  <artifactId>org.apache.felix.scr.annotations</artifactId>
  <version>1.9.8</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>biz.aQute.bnd</groupId>
  <artifactId>annotation</artifactId>
  <version>2.3.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.3.2</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>commons-codec</groupId>
  <artifactId>commons-codec</artifactId>
  <version>1.5</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.4</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>com.day.commons</groupId>
  <artifactId>day-commons-jstl</artifactId>
  <version>1.1.4</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.sling</groupId>
  <artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
  <version>2.2.4</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.apache.geronimo.specs</groupId>
  <artifactId>geronimo-atinject_1.0_spec</artifactId>
  <version>1.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>com.google.code.findbugs</groupId>
  <artifactId>jsr305</artifactId>
  <version>3.0.0</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>javax.inject</groupId>
  <artifactId>javax.inject</artifactId>
  <version>1</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>com.coresecure.brightcove.cq5</groupId>
  <artifactId>brightcove-services</artifactId>
  <version>5.1.6-SNAPSHOT</version>
  </dependency>
  <dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.3</version>
  </dependency>
  <dependency>
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.9.2</version>
  </dependency>
  <dependency>
  <groupId>commons-httpclient</groupId>
  <artifactId>commons-httpclient</artifactId>
  <version>3.1</version>
  </dependency>
  <dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpcore-nio</artifactId>
  <scope>provided</scope>
  <version>4.3.2</version>
  </dependency>
  <dependency>
  <groupId>org.apache.sling</groupId>
  <artifactId>org.apache.sling.xss</artifactId>
  <version>1.0.0</version>
  </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-public-releases</id>
  <name>Adobe Basel Public Repository</name>
  <url>https://repo.adobe.com/nexus/content/groups/public</url>
  <releases>
  <enabled>true</enabled>
  <updatePolicy>never</updatePolicy>
  </releases>
  <snapshots>
  <enabled>false</enabled>
  </snapshots>
  </repository>
  </repositories>
  <pluginRepositories>
  <pluginRepository>
  <id>adobe-public-releases</id>
  <name>Adobe Basel Public Repository</name>
  <url>https://repo.adobe.com/nexus/content/groups/public</url>
  <releases>
  <enabled>true</enabled>
  <updatePolicy>never</updatePolicy>
  </releases>
  <snapshots>
  <enabled>false</enabled>
  </snapshots>
  </pluginRepository>
  </pluginRepositories>
  <build>
  <plugins>
  <plugin>
  <groupId>com.day.jcr.vault</groupId>
  <artifactId>content-package-maven-plugin</artifactId>
  <extensions>true</extensions>
  </plugin>
  </plugins>
  <pluginManagement>
  <plugins>
   <!-- Maven Enforcer Plugin -->
   <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <executions>
  <execution>
  <id>enforce-maven</id>
  <goals>
  <goal>enforce</goal>
  </goals>
  <configuration>
  <rules>
  <requireMavenVersion>
  <version>[3.3.9,)</version>
  </requireMavenVersion>
  <requireJavaVersion>
  <message>Project must be compiled with Java 8 or higher</message>
  <version>1.8.0</version>
  </requireJavaVersion>
  </rules>
  </configuration>
  </execution>
  </executions>
  </plugin>
   <!-- builds groovy code -->
   <plugin>
  <groupId>org.codehaus.gmaven</groupId>
  <artifactId>gmaven-plugin</artifactId>
  <version>1.5</version>
  <executions>
  <execution>
  <goals>
  <goal>compile</goal>
  </goals>
  <configuration>
  <providerSelection>1.8</providerSelection>
  </configuration>
  </execution>
  </executions>
  <dependencies>
  <dependency>
  <groupId>org.codehaus.groovy</groupId>
  <artifactId>groovy-all</artifactId>
  <version>2.3.6</version>
  </dependency>
  </dependencies>
  </plugin>
  <plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-scr-plugin</artifactId>
  <configuration>
  <scanClasses>true</scanClasses>
  </configuration>
  <executions>
  <execution>
  <id>generate-scr-descriptor</id>
  <goals>
  <goal>scr</goal>
  </goals>
  </execution>
  </executions>
  <version>1.26.0</version>
  </plugin>
  <plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <version>3.3.0</version>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <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.8.2</version>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <version>2.5.2</version>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.17</version>
  </plugin>
  <plugin>
  <groupId>org.apache.sling</groupId>
  <artifactId>maven-sling-plugin</artifactId>
  <version>2.2.0</version>
  <configuration>
  </configuration>
  </plugin>
  <plugin>
  <groupId>com.day.jcr.vault</groupId>
  <artifactId>content-package-maven-plugin</artifactId>
  <version>0.5.1</version>
  <extensions>true</extensions>
  <configuration>
  <failOnError>true</failOnError>
  </configuration>
  </plugin>
  <plugin>
  <artifactId>maven-javadoc-plugin</artifactId>
  <version>2.9.1</version>
  <configuration>
  <excludePackageNames>
   *.impl

   </excludePackageNames>
  </configuration>
  </plugin>
  <plugin>
  <groupId>org.jacoco</groupId>
  <artifactId>jacoco-maven-plugin</artifactId>
  <version>0.7.1.201405082137</version>
  <executions>
  <execution>
  <id>default-prepare-agent</id>
  <goals>
  <goal>prepare-agent</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>maven-pmd-plugin</artifactId>
  <version>3.0.1</version>
  <configuration>
  <rulesets>
  <ruleset>acs/pmd/rules.xml</ruleset>
  </rulesets>
  </configuration>
  <dependencies>
  <dependency>
  <groupId>com.adobe.acs</groupId>
  <artifactId>coding-standards</artifactId>
  <version>0.0.1</version>
  </dependency>
  </dependencies>
  </plugin>
  <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>3.0.0</version>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <version>2.12.1</version>
  <configuration>
  <linkXRef>false</linkXRef>
  <configLocation>acs/checkstyle/checks.xml</configLocation>
  <includeResources>false</includeResources>
  <includeTestResources>false</includeTestResources>
  </configuration>
  <dependencies>
  <dependency>
  <groupId>com.adobe.acs</groupId>
  <artifactId>checkstyle-osgi-checks</artifactId>
  <version>0.0.3</version>
  </dependency>
  <dependency>
  <groupId>com.adobe.acs</groupId>
  <artifactId>coding-standards</artifactId>
  <version>0.0.1</version>
  </dependency>
  </dependencies>
  </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.codehaus.gmaven</groupId>
  <artifactId>gmaven-plugin</artifactId>
  <version>1.5</version>
  <goals>
  <goal>compile</goal>
  </goals>
  </pluginExecutionFilter>
  <action>
  <execute />
  </action>
  </pluginExecution>
  <pluginExecution>
  <pluginExecutionFilter>
  <groupId>
   org.apache.felix

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

   </artifactId>
  <versionRange>
   [1.26.0,)

   </versionRange>
  <goals>
  <goal>scr</goal>
  </goals>
  </pluginExecutionFilter>
  <action>
  <ignore />
  </action>
  </pluginExecution>
  </pluginExecutions>
  </lifecycleMappingMetadata>
  </configuration>
  </plugin>
  </plugins>
  </pluginManagement>
  </build>

  <profiles>
  <profile>
  <id>autoInstallPackage</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>

  <profile>
  <id>analysis</id>
  <build>
  <plugins>
  <plugin>
  <artifactId>maven-pmd-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>pmd</goal>
  <goal>cpd</goal>
   <!-- build will fail on warnings -->
   <goal>check</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>maven-javadoc-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>javadoc</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>check</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>checkstyle</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  </plugins>
  </build>
  </profile>
  <profile>
  <id>analysisCI</id>
  <build>
  <plugins>
  <plugin>
  <artifactId>maven-pmd-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>pmd</goal>
  <goal>cpd</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>maven-javadoc-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>javadoc</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>findbugs</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <executions>
  <execution>
  <phase>package</phase>
  <goals>
  <goal>checkstyle</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  </plugins>
  </build>
  </profile>
  </profiles>
  <modules>
  <module>bundle</module>
  <module>content</module>
  <module>brightcove</module>
  </modules>
</project>

1 Accepted Solution

Avatar

Correct answer by
Level 3

I played around with the POM settings and figured out the problem. I was using version 1.26.0 of the Felix maven-scr-plugin dependency. Once I switched back to 1.20.0 this stared working correctly. So that plugin should look like this.

<plugin>

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

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

<configuration>

<scanClasses>true</scanClasses>

</configuration>

<executions>

<execution>

<id>generate-scr-descriptor</id>

<goals>

<goal>scr</goal>

</goals>

</execution>

</executions>

<version>1.20.0</version>

</plugin>

View solution in original post

5 Replies

Avatar

Administrator

The development of the Apache Felix SCR Plugin is in maintenance mode. You should use the official annotations from the OSGi R6 specification.

Read:- Official OSGi Declarative Services Annotations in AEM - Adobe Experience Manager | AEM/CQ | Apache S...

-Kautuk



Kautuk Sahni

Avatar

Level 3

Why would labels and descriptions start working with AEM 6.3, though? Is there something we can do until we upgrade?    

Avatar

Level 10

If you have access to a fresh install of AEM 6.3 - try that use case on that server. LEts see if its a upgrade issue or not working in AEM 6.3 for some reason.

Avatar

Level 3

Try this use case meaning try a pom file like the above, but with a clean install and a basic component configuration?         

Avatar

Correct answer by
Level 3

I played around with the POM settings and figured out the problem. I was using version 1.26.0 of the Felix maven-scr-plugin dependency. Once I switched back to 1.20.0 this stared working correctly. So that plugin should look like this.

<plugin>

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

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

<configuration>

<scanClasses>true</scanClasses>

</configuration>

<executions>

<execution>

<id>generate-scr-descriptor</id>

<goals>

<goal>scr</goal>

</goals>

</execution>

</executions>

<version>1.20.0</version>

</plugin>