当前位置: 首页 > 知识库问答 >
问题:

如何让Barcode4J FOP扩展在OSGi工作(用于使用条形码生成PDF)

长孙修远
2023-03-14

通过使用JBoss Fuse,我有了一个Camel-FOPendpoint组件,它成功地生成了pdf作为路由的一部分。一项新要求是在PDF输出中包含动态条形码生成。这必须在OSGi集装箱运行。虽然FOP和Barcode4J都是捆绑包,但是FOP扩展(barcode4j-fop-ext:21)只是一个普通的jar,似乎没有可用的捆绑包版本。

我首先尝试通过bnd包装FOP扩展并部署它,但是FOP找不到/看不到扩展。其工作方式是,在运行时,FOP在类路径中查找由可选扩展提供的任何名为org . Apache . FOP . fo . element mapping的文本文件。然后,FOP使用该文本文件中提供的类名(class.forName(...).

FOP扩展Jar在META_INF/services下保存纯文本文件,这些文件必须对FOP包以及扩展Jar中的几个Java包可见。这个文本文件包含字符串“org . krysalis . barcode 4j . fop . barcodeelementmapping ”,它对应于FOP包必须实例化的FOP扩展中的类。

编辑:我还应该补充一点,我已经查看了 FOP 捆绑清单,并且没有可选的导入或其他对我正在使用的 FOP 扩展 Jar 的引用。我认为扩展的想法是它们是运行时可发现的,因此不会被隐式引用。

有什么方法可以在OSGi实现这一点,或者我应该寻找其他的解决方案?

共有1个答案

郑博
2023-03-14

听起来您的 FOP 正在寻找服务扩展。确保您还安装了Aries SPI-Fly功能。此功能查找这些服务扩展 META-INF/服务,并使这些扩展可用于需要这些扩展的其他捆绑包。这应该已经为您完成了大部分工作。

 类似资料:
  • 所以,我需要在CMS中做一个扩展,称为TYPO3。这里有一些关于这个扩展的信息: “对于新的TYPO3 6.1网站,我们需要一个新闻稿扩展(基于ExtBase/Fluid),该扩展应包含: 标题/说明 目前实际上没有详细视图的设计,所以没有详细视图的链接。所以,现在,请专注于前端列表视图。" 我以前从未使用过这个CMS,所以我读了一下,发现我需要使用扩展生成器来创建这个扩展。所以,我已经下载并安装

  • 本文向大家介绍C#实现用于生成条形码的类,包括了C#实现用于生成条形码的类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现用于生成条形码的类。分享给大家供大家参考。具体如下: 这个C#类可以用来生成39码 12位标准条形码 希望本文所述对大家的C#程序设计有所帮助。

  • 问题内容: 使用生成的Java源代码,例如 用Hibernate工具生成的代码 用JAXB模式绑定(xjc)生成的代码 WDSL2Java(cxf)生成的代码 所有生成的类都是“值对象”类型,没有业务逻辑。而且,如果我将方法添加到生成的源代码中,那么如果我重复源代码的生成,则将丢失这些方法。 这些Java代码生成工具是否提供“扩展”所生成代码的方法? 例如, 覆盖ToString方法(用于记录)

  • 如何让“教授”延伸到“人”?我应该直接在代码上做吗?还是我错过了什么?

  • 我正试着把a类扩展成AX类。所以,我也扩展了abuilder。但是,虽然我能够使用以下方法创建类a的对象: 同样的方法对AX不起作用。当我尝试这样做时:

  • 我希望能够在我的应用程序中使用此颜色选择器: http://wpftoolkit.codeplex.com/wikipage?title=ColorPicker 我正在使用安装了. NET 4的Visual Studio 2010 Ultimate。我正在用C#和WPF(XAML)编码。 到目前为止我所做的: > 试图使用 谷歌搜索解决方案、教程或示例,但没有取得太大成功。 请解释扩展WPF工具包