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

2023-12-07

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

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

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

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


查看当前的 struts 包http://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 应用程序中使用它们 - 但理论上你至少可以引用它们并做“事情”! :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts 2 是否可以作为 OSGi 捆绑包提供? 的相关文章

  • android.view.InflateException:二进制 XML 文件行 #11:膨胀类 ImageView 时出错

    我只是尝试制作一个小的 android java xml 应用程序来计算游戏的分数 它给了我这个错误 Error inflateing class ImageView 有人知道解决方案吗 我实际上搜索了 ppl 说添加这个 android
  • 如何在 Java 中访问嵌套的 HashMap?

    我有一个 Java 中的 HashMap 其中的内容 你们可能都知道 可以通过以下方式访问 HashMap get keyname 如果一个 HashMap 位于另一个 HashMap 中 即嵌套的 HashMap 我将如何访问内容 我可以
  • 如何使用 Maven Failsafe 插件运行 JUnit 5 集成测试?

    当我运行命令时 Maven Failsafe 插件找不到我的 JUnit 5 集成测试mvn clean failsafe integration test 尽管它可以找到文件 我有junit jupiter api and junit j
  • Quarkus 不以编程方式选择 bean

    我试图以编程方式选择 bean 但 quarkus 不会注入 bean 并引发异常 不支持吗 public enum ReportType ONE TWO Qualifier Retention RUNTIME Target METHOD
  • 如何在log4j的配置文件中为文件附加器提供环境变量路径

    我有一个log4j xml配置文件 和一个RollingFileAppender我需要提供用于存储日志的文件路径 问题是我的代码将作为可运行的 jar 部署在 Unix 机器上 所以如果我传递这样的参数 value logs message
  • 在命令行java中突出显示文本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一项任务是重新创建 unix cal 程序 除了一部分之外 相当简单 今天 它突出显示了该数字 我不知道该怎么做 关于如何在 Ja
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • 在 Junit 测试中使用 ReflectionTestUtils.setField()

    我是 JUnittesting 的新手 所以我有一个问题 谁能告诉我为什么我们使用ReflectionTestUtils setField 在我们的 Junit 测试示例中 正如评论中提到的 java 文档很好地解释了用法 但我还想给你们举
  • java.lang.Object的hashCode具体使用的算法是什么

    中使用的算法是什么JVM实施java lang Object的隐含的hashCode 方法 OpenJDK or Oracle JDK答案中首选 它依赖于实现 并且在很大程度上 该算法是entirely取决于实施 只要它是一致的 但是 根据
  • 如何检查日期字符串的有效性?

    在我的项目中 我需要检查日期字符串是否计算为正确的日期对象 我决定允许 yyyy MM dd 和日期格式 年 月 日 和 年 月 日 小时 分钟 我如何检查它们是否有效 我的代码为 1980 01 01 和一些奇怪的日期 如 3837 05
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • 如何将库添加到 LIBGDX 项目的依赖项 gradle

    一切都在问题中 我已经尝试了在 SO 和其他网站中找到的所有答案 但没有运气 这就是我迄今为止尝试过的 adding compile fileTree dir lib include jar 到我的 build gradle adding
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c
  • 你能快速告诉我这个伪代码是否有意义吗?

    我相信我的代码现在是万无一失的 我现在将写出伪代码 但我确实有一个问题 为什么 DRJava 要求我返回 if 语句之外的内容 正如你所看到的 我为 ex 写了 return 1 只是因为它问了 但是它永远不会返回该值 谁可以给我解释一下这
  • 使用 AmazonSNSClient 发送短信时的授权

    aws 官方文档如何发送短信 http docs aws amazon com sns latest dg sms publish to phone html使用 java 中的 aws SDK 非常简单 但是 当发送如底部示例所示的消息时
  • 将数组值导出到 csv 文件 java

    我只需要帮助将数组元素导出到 csv 文件 我不知道我的代码有什么问题 任何帮助将不胜感激 谢谢 for int index 0 index lt cols length index FileWriter fw new FileWriter

随机推荐

  • Java 中的绑定是什么 - 术语

    我知道什么是静态绑定和动态绑定 所以我的问题与此无关 让我们看看静态绑定是怎么说的this 1 Java中的静态绑定发生在编译时 而动态绑定发生在编译时 绑定发生在运行时期间 2 私有方法 最终方法和静态方法以及变量使用静态绑定并由编译器绑
  • 以管理员身份运行时 DriveInfo.GetDrives() 不返回映射驱动器

    我正在创建一个 WPF 应用程序 除其他外 它还应该检查多个映射驱动器是否存在 代码很简单 DriveInfo systemDrives DriveInfo GetDrives foreach DriveInfo i in systemDr
  • std::byte 可以替代 std::aligned_storage 吗?

    C 17引入了一种新类型 std byte 所以现在我们终于有了一个一等公民类型来表示内存中的字节 除了在标准中是一个新颖的东西之外 C 的对象创建 生命周期的开始和结束 别名等规则在大多数情况下都相当复杂且不直观 所以每当我觉得std b
  • PHP/curl:namelookup_time/dns 减慢请求

    编辑 找到部分原因 见底部 我正在从 php ini 进行标准的curl 调用 但是 名称解析期间似乎出现了挂断 在我的 OSX 机器上 对于同一子网的此查询和其他查询 namelookup time 始终超过 1 秒 我的子网上的一台 L
  • Jmeter 中合理同时运行的最大线程数是多少?

    我想使用尽可能多的线程 以使用更少的计算机 但又不让瓶颈出现在客户端 只要使用得当 JMeter 就可以模拟非常高的负载 别听都市传说这说明 JMeter 无法处理高负载 现在至于答案 取决于 你的机器功率 你的jvm是32位还是64位 你
  • 防止 python 关闭 Windows

    我想防止 Windows xp 和 7 关闭 为此 我似乎必须拦截 WM QUERYENDSESSION 消息并返回 False 好吧 我必须纠正我的说法 这个程序在 Windows 7 下工作正常 但在 Windows 7 嵌入式标准 S
  • 如何使用 R 将 Grib1 转换为 Netcdf?

    我刚刚下载了一些 Grib 格式的气候数据 我想使用 R 将其转换为 NetCDF 格式 此外 由于该文件由不同的变量组成 我想一次将一个变量提取到单独的文件中 如果没有您的特定文件 很难回答这个问题 你应该考虑生产可重复的examples
  • 如何替换两个符号之间所有出现的字符串?

    我正在 Javascript 上使用 RegEx 这就是我遇到的问题 我有一个简单的字符串 例如 span style font family Verdana size 3D quot 2 quot http 72 55 146 142 8
  • cmd ftp mput - jpeg 文件与原始文件不同

    目前我正在为 ftp s 执行此批处理 打开192 1 2 3 USER密码cd 文件夹 液晶屏 c 文件夹 promptmkdir 20140730光盘 20140730 输入 jpeg quit 在测试过程中 我尝试输入 10 个文件
  • 使用 Javascript 通过单击按钮来切换下拉列表的启用和禁用?

    我使用以下 JavaScript 来禁用 ASP NET 页面中的下拉列表 当我单击按钮时会调用该列表 function disableDropDown DropDownID document getElementById DropDown
  • 在 DBF 中搜索并更新记录

    Code usr bin python db dbf Dbf MEST2 DBF LINE TO UPDATE rec db 0 PROEST IS A field of my dbf I m assigning 1 to this fie
  • hapijs joi 验证,验证大于其他属性的总和

    我想验证一个字段 familymemberCount 它应该大于等于其他字段 我尝试了下面的代码 但这不允许将 运算符与 Ref 一起使用 我们如何用其他值的总和进行验证 export const familyMemberRulesSche
  • 使用 XCode 4 生成代码覆盖率数据需要什么

    我一直在尝试使用 XCode 4 2 1 构建 4D502 上概述的步骤为我的应用程序生成代码覆盖率数据http code google com p coverstory wiki UsingCoverstory 我显然错过了一些东西 因为
  • 为什么 OpenCL 工作组大小对 GPU 性能影响巨大?

    我正在 Qualcomm Adreno 630 GPU 上对一个简单的矩阵转置内核进行基准测试 我试图了解不同工作组大小的影响 但令人惊讶的是 我得到了一些我无法解释的有趣结果 这是我的内核代码 kernel void transpose
  • Xamarin:通过 GetManifestResourceStream 加载资源

    我正在开发一个使用 OpenGL OpenTK 的 Xamarin 表单项目 我正在尝试使用 GetManifestResourceStream 加载着色器 无论我做什么 我都会得到空值 代码正在从 Shared 项目运行 着色器位于 io
  • 从 NetCoreApp2.1 调用 OData 服务时出现 System.NotSupportedException

    我已经设置了一个多目标 net4 5 2 netstandard2 类库 允许使用我们的企业 OData 服务之一 为了访问此 OData 服务 我们使用使用以下命令生成的代理类OData v4 客户端代码生成器 v7 5 0 不幸的是 当
  • 从 C# 中的文本文件读取

    我有以下程序 它将发送 输出 信息到文本文件 但现在我想从文本文件中读取 输入 任何建议将不胜感激 我已经注释掉了一些 我认为 我需要做的事情 但我不太确定如何继续 using System Windows Forms using Syst
  • 尝试访问字符指针数组时出现分段错误

    所以我创建了一个处理 char 指针数组的函数 通过使用 运算符 功能 int fetchargs char argv argv 0 0 A 将导致分段错误 我传递了一个字符指针数组 其初始化如下 char argv ARG NUM MAX
  • Android、wifi主动扫描

    我需要在我的 Android 应用程序上进行频繁的 wifi 扫描 我正在尝试基于 wifi RSSI 值构建本地室内定位系统 如果我调用 wifi startScan 我有 onReceive 每 6 秒回调一次 我想默认情况下它是被动扫
  • Struts 2 是否可以作为 OSGi 捆绑包提供?

    我有一个服务器应用程序 由多个 OSGi 包组成 其中一些是我的 一些是第三方的 其中一个捆绑包提供了使用 Struts 的 Web 前端 必要的 Struts 库位于 Web 前端包内 现在我想添加第二个包 它提供另一个 Web 前端 具