Convert jars to OSGi bundles

Avatar

Avatar

Tapan_Agrawal

Avatar

Tapan_Agrawal

Tapan_Agrawal

16-05-2019

Hi,

I have a maven dependency

<dependency>

    <groupId>org.apache.hive</groupId>

    <artifactId>hive-jdbc</artifactId>

    <version>2.1.1</version>

</dependency>

The jar and its dependencies don't have any OSGi bundle definition like symbolic bundle name under the manifest file. How do I convert it into OSGi bundle so that the jar and its dependencies can be successfully installed into AEM.

Replies

Avatar

Avatar

jbrar

Employee

Avatar

jbrar

Employee

jbrar
Employee

16-05-2019

Check [1] on how to convert jar file to osgi bundle.

[1] How to Convert a jar File into an OSGi Bundle

Avatar

Avatar

Tapan_Agrawal

Avatar

Tapan_Agrawal

Tapan_Agrawal

16-05-2019

Hi, this method applies only to jar that doesn't have any dependencies. hive-jdbc has dependency on 12 other jars. please suggest

Avatar

Avatar

Jörg_Hoh

Employee

Total Posts

3.1K

Likes

1.1K

Correct Reply

1.1K

Avatar

Jörg_Hoh

Employee

Total Posts

3.1K

Likes

1.1K

Correct Reply

1.1K
Jörg_Hoh
Employee

16-05-2019

tapana19997047​ What was the outcome of [1]? If you don't need to have this package in OSGI, you can also embedd it into your application bundle.

[1] AEM Hive error

Avatar

Avatar

ankurk67503819

Avatar

ankurk67503819

ankurk67503819

16-05-2019

How to embed a 3rf party jar file into our bundle as part of maven build?

Avatar

Avatar

Bharath_valse

Avatar

Bharath_valse

Bharath_valse

16-05-2019

Hope this thread helps how to embed dependent jar ?

Avatar

Avatar

ankurk67503819

Avatar

ankurk67503819

ankurk67503819

16-05-2019

Here in this thread we are creating an osgi bundle and manually deploying to system/consile.

But this is not the way we can do it in prod rt...

So my question is what changes we need to make in pom.xml so once the package is build this 3rd party is automatically included into our bundle and deployed into server without deploying the 3rd party jar files to system console.

Avatar

Avatar

Bharath_valse

Avatar

Bharath_valse

Bharath_valse

17-05-2019

Did you try adding the osgi wrapped bundle to your apps install folder
(through code package, with the help of filter.xml) and use the maven-bundle-plugin or content-package-maven-plugin. Please refer [0] & [1] option #4

[0]

cq5 - How to use third party JAR into AEM? - Stack Overflow

[1]

Adobe CQ/Adobe AEM: How to Integrate 3rd party Jar file in CQ / WEM

Avatar

Avatar

Tapan_Agrawal

Avatar

Tapan_Agrawal

Tapan_Agrawal

21-05-2019

I tried to embed the "hive-jdbc" jar into my application bundle. Following were the changes I did.

core pom.xml

1757315_pastedImage_0.png

1757316_pastedImage_2.png

ui-apps pom.xml

1757318_pastedImage_4.png

1757317_pastedImage_3.png

main pom.xml

1757319_pastedImage_7.png

However, the application bundle is in installed stage and found this in the error.log

1757320_pastedImage_9.png

Anything I am missing here?