Is Struts 2 available as an OSGi bundle?

青春壹個敷衍的年華 提交于 2019-11-30 22:52:54

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"!! :)

Is this what you are looking for?: http://cwiki.apache.org/S2PLUGINS/osgi-plugin.html

Hanno Fietz

Using Maven, it is very easy to create an OSGi bundle from any library. Since Struts is already available as an OSGi-Bundle in the central Maven repository (see accepted answer), I put that solution in a separate question & answer post.

take a look at these links, i hope you find them a little helpful don brown's web blog

and read this article it may be helpful java lobby: Modularizing existing web applications with OSGi

well i think you would have to make the wrapping task yourself .

Struts is a framework for the Servlet Container (distributed component architecture). oSGI is also a distributed component architecture.

I think your best bet may be to take a look at oscar http service and based on oscar's code see how they have mapped the oscar HttpService, context, etc. to jetty servlet container. And then port the struts framework to run on top of the embedded jetty.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!