3

I am trying to integrate AWS SNS in my maven project. I get below error while deploying the code 

Could not start bundle aem-myproject.core [622]. Reason: {}. Will retry.
org.osgi.framework.BundleException: Unable to resolve aem-myproject.core [622](R 622.69): missing requirement [aem-myproject.core [622](R 622.69)] osgi.wiring.package; (osgi.wiring.package=software.amazon.awssdk.auth.credentials) Unresolved requirements: [[aem-myproject.core [622](R 622.69)] osgi.wiring.package; (osgi.wiring.package=software.amazon.awssdk.auth.credentials)]
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
    at org.apache.sling.installer.core.impl.tasks.BundleStartTask.execute(BundleStartTask.java:97) [org.apache.sling.installer.core:3.9.0.B002]
    at org.apache.sling.installer.core.impl.OsgiInstallerImpl.doExecuteTasks(OsgiInstallerImpl.java:914) [org.apache.sling.installer.core:3.9.0.B002]
    at org.apache.sling.installer.core.impl.OsgiInstallerImpl.executeTasks(OsgiInstallerImpl.java:749) [org.apache.sling.installer.core:3.9.0.B002]
    at org.apache.sling.installer.core.impl.OsgiInstallerImpl.run(OsgiInstallerImpl.java:298) [org.apache.sling.installer.core:3.9.0.B002]
    at java.base/java.lang.Thread.run(Thread.java:834)

I have added below two dependencies in my POM file,

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>aws-sdk-java</artifactId>
    <version>2.20.2</version>
    <scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/software.amazon.awssdk/auth -->
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>auth</artifactId>
    <version>2.20.2</version>
</dependency>

But I am not sure why it could not resolve software.amazon.awssdk.auth.credentials. Can anyone tell me if I need any other dependency to resolve this?

Ref - https://github.com/aws/aws-sdk-java-v2/#using-the-sdk https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-simple-notification-service.html

Basically I want to get all below import statement classes,

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.CreateTopicRequest;
import software.amazon.awssdk.services.sns.model.CreateTopicResponse;
import software.amazon.awssdk.services.sns.model.SnsException;
Mario R
  • 171
  • 6

1 Answers1

0

Have you specified scope below on purpose?

<scope>provided</scope>

"provided" dependency should be provided by application server / servlet container. If they are not provided, the deployment will fail. Try to change scope to compile to make the dependency a part of a package.

gneginskiy
  • 81
  • 5
  • Removed the scope completely. I guess default scope for maven dependency for compile. But I ended up with same error. – Mario R Feb 13 '23 at 15:06
  • Ok, so, it's not a problem with maven build or mvn dependency resolution, it's an issue with deployment. https://stackoverflow.com/questions/30480508/karaf-maven-unable-to-resolve-missing-requirement-osgi-wiring-package this sounds similar and can be helpful. – gneginskiy Feb 13 '23 at 15:17