6.2 Sling model Inject annotation

Avatar

Avatar

Sutty100

Avatar

Sutty100

Sutty100

13-06-2016

I've just updated from 6.1 to 6.2 and suddenly my sling models are causing problems. It seems like javax.inject is no longer available and so my bundle wont start. I have tried adding to my top level pom a dependancy but it is still not happy.

Error:

javax.inject,version=[0.0,1) -- Cannot be resolved

Dependancy added:

            <dependency>

                <groupId>javax.inject</groupId>

                <artifactId>javax.inject</artifactId>

            </dependency>

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

kautuk_sahni

Community Manager

Total Posts

6.0K

Likes

1.1K

Correct Reply

1.1K

Avatar

kautuk_sahni

Community Manager

Total Posts

6.0K

Likes

1.1K

Correct Reply

1.1K
kautuk_sahni
Community Manager

13-06-2016

Hi,

Please add:-

<dependency> 
    <groupId>org.apache.geronimo.specs</groupId> 
    <artifactId>geronimo-atinject_1.0_spec</artifactId>
    <version>1.0</version> 
    <scope>provided</scope> 
</dependency>

1. Go to depfinder:- http://localhost:4502/system/console/depfinder 

2. add "javax.inject.Inject"

Result will be:- 

I hope this will help you.

 

Thanks and Regards

Kautuk Sahni

Answers (7)

Answers (7)

Avatar

Avatar

Jaggu_Accenture

Avatar

Jaggu_Accenture

Jaggu_Accenture

22-01-2018

I got the solutions, please find add the below code in core pom.xml file(i.e. find <instructions> and next to add <Import-Package>javax.inject;version=0.0.0,*</Import-Package>). The below solutions is required because in aem 6.2 default javax.inject is there so we just need to import this.

<instructions>

<Import-Package>javax.inject;version=0.0.0,*</Import-Package>

Capture.PNG

Avatar

Avatar

venkat_krishnat

Employee

Avatar

venkat_krishnat

Employee

venkat_krishnat
Employee

08-11-2017

The link shared by Scott actually contains the solution for this problem. Adding the below so that it can save some time to straight way have the fix.

Problem:

created a AEM project using Maven archetype and when installing to AEM 6.3 I find the below error.

  1. javax.inject,version=[0.0,1) -- Cannot be resolved

Solution:

Adding below to the core pom.xml

<dependency>

<groupId>com.adobe.aem</groupId>

<artifactId>uber-jar</artifactId>

<classifier>obfuscated-apis</classifier>

        </dependency>

  

        <dependency>

<groupId>org.apache.geronimo.specs</groupId>

<artifactId>geronimo-atinject_1.0_spec</artifactId>

        </dependency>

Adding below to main pom.xml

<dependency>

<groupId>com.adobe.aem</groupId>

<artifactId>uber-jar</artifactId>

<version>6.3.0</version>

<classifier>obfuscated-apis</classifier>

<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>

Avatar

Avatar

ksuren

Avatar

ksuren

ksuren

28-11-2016

kautuksahni wrote...

Hi,

Please add:-

<dependency> 
    <groupId>org.apache.geronimo.specs</groupId> 
    <artifactId>geronimo-atinject_1.0_spec</artifactId>
    <version>1.0</version> 
    <scope>provided</scope> 
</dependency>

1. Go to depfinder:- http://localhost:4502/system/console/depfinder 

2. add "javax.inject.Inject"

Result will be:- 

I hope this will help you.

 

Thanks and Regards

Kautuk Sahni

 

 

 

 

I'm able to find javax.inject.Inject as shown in the screenshot, what do i need to do then? I cannot see my project's package here in the list though? And the error still persists. My bundle is not Active.

Avatar

Avatar

md_rameeza22886

Avatar

md_rameeza22886

md_rameeza22886

24-10-2016

I think this has to do with some dependency referencing specific to AEM 6.2.

A solution can be found here http://www.codermag.net/2016/10/javax-inject-version-cannot-be-resolved-in-AEM.html

Avatar

Avatar

Sutty100

Avatar

Sutty100

Sutty100

14-06-2016

Got it thanks, wasn't aware of the dependency finder tool so thanks for that as well!