Eclipse:如何在 osgi 包导出中包含依赖项?
Eclipse: How to include dependencies in osgi bundle export?
使用 Eclipse,我有一个(有点)工作的 OSGI 包。它使用 Maven 拉取了很多依赖项。
如果我右击 > 运行 As "Maven Build" and select the "package" 作为目标,我最终得到一个包含所有依赖项的 jar (好),但如果我这样做 "Export > OSGI Bundle" 依赖项丢失。
问题是我有另一个包含该包的项目(WebSphere Liberty Feature Project),但是当它提取它时,它也缺少依赖项,因此生成的 .esa 文件也缺少依赖项。
有没有办法让 eclipse 处理依赖关系,这样我就不必在 eclipse 之外手动打包它或专门为此目的编写一个 maven 项目?
谢谢!
在您的 POM 中,您是否使用 maven-bundle-plugin and its usage-details 创建了一个包。如果没有,您可以使用它来定义包的创建,还可以定义要在创建包时嵌入的依赖项。
当我遇到你的 post 时,我遇到了同样的问题。
我假设这些 jar 将包含在导出的 jar 中并在运行时找到。
最初,我创建了一个单独的 "lib" 目录并向其中添加了库,但是当作为 Bundle 导出或 Liberty 功能导出 (ESA) 导出时它们不会被包括在内
我首先使用 "Java Archive into OSGi Bundle" 导入向导解决了这个问题。
您可以 select jar 依赖项并使用向导将其添加到您选择的捆绑包中。我在使用它时注意到的是,罐子已添加到所选包中的 "BundleContent" 文件夹中。
因为我有很多库要包含,我只是将它们全部移动到 "BundleContent" 文件夹,更新构建时间和运行时类路径,然后在导出时,所有依赖项都包含在运行时,然后可以找到 类,而以前找不到。
使用 Eclipse,我有一个(有点)工作的 OSGI 包。它使用 Maven 拉取了很多依赖项。
如果我右击 > 运行 As "Maven Build" and select the "package" 作为目标,我最终得到一个包含所有依赖项的 jar (好),但如果我这样做 "Export > OSGI Bundle" 依赖项丢失。
问题是我有另一个包含该包的项目(WebSphere Liberty Feature Project),但是当它提取它时,它也缺少依赖项,因此生成的 .esa 文件也缺少依赖项。
有没有办法让 eclipse 处理依赖关系,这样我就不必在 eclipse 之外手动打包它或专门为此目的编写一个 maven 项目?
谢谢!
在您的 POM 中,您是否使用 maven-bundle-plugin and its usage-details 创建了一个包。如果没有,您可以使用它来定义包的创建,还可以定义要在创建包时嵌入的依赖项。
当我遇到你的 post 时,我遇到了同样的问题。 我假设这些 jar 将包含在导出的 jar 中并在运行时找到。
最初,我创建了一个单独的 "lib" 目录并向其中添加了库,但是当作为 Bundle 导出或 Liberty 功能导出 (ESA) 导出时它们不会被包括在内
我首先使用 "Java Archive into OSGi Bundle" 导入向导解决了这个问题。
您可以 select jar 依赖项并使用向导将其添加到您选择的捆绑包中。我在使用它时注意到的是,罐子已添加到所选包中的 "BundleContent" 文件夹中。
因为我有很多库要包含,我只是将它们全部移动到 "BundleContent" 文件夹,更新构建时间和运行时类路径,然后在导出时,所有依赖项都包含在运行时,然后可以找到 类,而以前找不到。