AEM 6.1 java 1.8 compatibility issue | Community
Skip to main content
lakshmi_raghava
October 16, 2015
Solved

AEM 6.1 java 1.8 compatibility issue

  • October 16, 2015
  • 14 replies
  • 7185 views

Hi,

we are trying to upgrade our project to AEM 6.1 and JDK 1.8 version . 

 

we are trying to modify the pom.xml files of my project. 

we used  the following combinations :

 

<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.felix</groupId>
                    <artifactId>maven-scr-plugin</artifactId>
                    <version>1.21.0</version>
                    <extensions>true</extensions>
                     <configuration>
                    <sourceExcludes>com/sapient/archive/*.java</sourceExcludes>
                </configuration>               
                    <executions>
                        <execution>
                            <id>generate-scr-scrdescriptor</id>
                            <goals>
                                <goal>scr</goal>
                            </goals>
                            
                        </execution>
                    </executions>
                </plugin>

 

 

<dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.scr.annotations</artifactId>
            <version>1.9.6</version>
            <scope>provided</scope>
        </dependency>

 

if we use the following combination in parent and as well and child we are getting the following error: 

 

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

 

if we use the above combination only in parent, build got the success, but generated jar file is not creating OSGI-INF folder . 

 

 

can anyone please provide the sample pom.xml file which will both compatible with 1.7 and 1.8 . 

 

 

 

Thanks, 

Lakshmi Raghava Reddy M.

 

can any one help

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by ogill

There seems to be some details on this issue online, looks like your java code may need to be updated. What version of AEM are you migrating from?

https://issues.apache.org/jira/browse/FELIX-4586

http://apache-sling.73963.n3.nabble.com/jira-Created-SLING-3792-Fields-in-ResourceAccessSecurityTracker-must-be-declared-volatile-td4036780.html

14 replies

lakshmi_raghava
October 16, 2015

Yes, we figure out the issue and issue and issue is with the code that we modified for the deprecated API. With out code changes of Deprecated API, everything is working fine with java 8 .

joerghoh
Adobe Employee
Adobe Employee
October 16, 2015

Unsatiesfied components are not an issue in the first place. A number of them will only get active if you provide proper configuration. This depends on the component.

Kind regards,
Jörg

February 20, 2016

Hi

Wanted to share my experience and learning with the group. I have faced same issues with maven-compiler and scr annotations with JDK 1.8 and AEM 6.1. I eventually found that its a maven compiler and related dependencies' compatibility to JDK 1.8 issue and resolved with following changes in my reactor project's POM.xml. Please note that:

  1. Earlier Environment - JDK 1.7, Maven 3.2.2 and AEM 6.0 SP1
  2. New Environment - JDK 1.8...73 (the latest at the moment), Maven 3.3.3 and AEM 6.1 SP1

Changes:

CHANGE-1: Under the tag <build><pluginManagement>

<!-- commented due to AEM 6.1 JDK 1.8 issue
<plugin>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.0</version>
   <configuration>
      <source>1.6</source>
      <target>1.6</target>
      <encoding>utf-8</encoding>
   </configuration>
</plugin>
-->

<!-- Added due to AEM 6.1 JDK 1.8 issue -->
<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>

Change-2: Under the tag <build><pluginManagement>

<!-- Added due to AEM 6.1 JDK 1.8 Issue -->
<plugin>
   <groupId>org.apache.felix</groupId>
   <artifactId>maven-scr-plugin</artifactId>
   <version>1.17.0</version>
</plugin>

<!-- commented due to AEM 6.1 JDK 1.8 Issue
<plugin>
   <groupId>org.apache.felix</groupId>
   <artifactId>maven-scr-plugin</artifactId>
   <version>1.8.0</version>
</plugin>
-->

Change 3: Under the tag <dependencyManagement><dependencies>

<!-- Added due to JDK 1.8 AEM 6.1 issue -->
<dependency>
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.scr.annotations</artifactId>
   <version>1.9.8</version>
</dependency>

<!-- commented due to JDK 1.8 AEM 6.1 issue
<dependency>
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.scr.annotations</artifactId>
   <version>1.7.0</version>
</dependency>
-->

It solved my AEM 6.1 JDK 1.8 issue related to scr annotation issue as described in this POST originally.

 

Cheers

Anand 

March 2, 2017

Many thanks Anand, that helped me out.