Is Struts 2 available as an OSGi bundle?
Asked Answered
G

1

4

I have a server application that consists of multiple OSGi bundles, some mine, some third-party. One of the bundles provides a web frontend using Struts. The necessary Struts libraries live inside the web front-end bundle.

Now I want to add a second bundle that provides another web front-end, with different dependencies and a very different use case. I want to use Struts for that bundle, too, but I don't want to put the same libraries into two bundles.

With OSGi, it should be no problem to separate the Struts libs in a bundle of their own and use that from both my bundles. However, I couldn't find Struts packaged that way.

Some quick googling and a look at the Struts homepage didn't yield anything. I could find a plugin for Struts to run an OSGi container inside Struts, but that's not what I want.

Grenada answered 21/5, 2009 at 9:4 Comment(0)
P
5

Take a look at the current struts bundles on http://repo2.maven.org/maven2/org/apache/struts/struts2-core/2.1.6/.

If you download struts2-core-2.1.6.jar for example, extract it and take a look at META-INF/MANIFEST.MF you'll see that it does contain OSGI headers (Import-Package, Export-Package, Bundle-*):

C:\TMP\META-INF>more MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.5.0_10 (Sun Microsystems Inc.)
Built-By: musachyb
Build-Jdk: 1.5.0_10
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: com.opensymphony.xwork2;version="2.1",com.opensymphon
 <SNIP>
Bnd-LastModified: 1231185746365
Export-Package: org.apache.struts2.views.xslt;uses:="javax.servlet.ht
Bundle-Version: 2.1.6
 <SNIP>
Bundle-Description: Apache Struts 2
Bundle-Name: Struts 2 Core
Bundle-DocURL: http://www.apache.org
Bundle-ManifestVersion: 2
Bundle-Vendor: Apache Software Foundation
Bundle-SymbolicName: org.apache.struts.struts2-core
Tool: Bnd-0.0.255

No idea how you go about using them within an OSGi app - but in theory you can atleast reference them and do "stuff"!! :)

Pilgarlic answered 25/5, 2009 at 3:53 Comment(2)
Actually, what this means is yes, Struts is available as an OSGi bundle :)Grenada
And the Spring repository (www.springsource.com/repository) is always a good place to look for common Java libraries that have already been wrapped with the correct OSGi headers.Seton

© 2022 - 2024 — McMap. All rights reserved.