Struts 2 是否可以作为 OSGi 捆绑包提供?

发布于 2024-07-20 02:51:57 字数 446 浏览 3 评论 0原文

我有一个服务器应用程序,由多个 OSGi 包组成,其中一些是我的,一些是第三方的。 其中一个捆绑包提供了使用 Struts 的 Web 前端。 必要的 Struts 库位于 Web 前端包内。

现在我想添加第二个包,它提供另一个 Web 前端,具有不同的依赖项和非常不同的用例。 我也想为该捆绑包使用 Struts,但我不想将相同的库放入两个捆绑包中。

使用 OSGi,将 Struts 库分离到它们自己的捆绑包中并从我的两个捆绑包中使用它应该没有问题。 然而,我找不到这样打包的 Struts。

快速谷歌搜索并查看 Struts 主页 没有得到任何结果。 我可以找到一个 Struts 插件来在 Struts 中运行 OSGi 容器,但这不是我想要的。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

卖梦商人 2024-07-27 02:51:57

查看 http 上当前的 struts 包: //repo2.maven.org/maven2/org/apache/struts/struts2-core/2.1.6/

例如,如果您下载 struts2-core-2.1.6.jar,将其解压并查看 META-INF/MANIFEST.MF,您会发现它确实包含 OSGI 标头(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

不知道如何在 OSGi 应用程序中使用它们 - 但理论上你至少可以引用它们并做“事情”! :)

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文