没有捆绑包的 Apache Karaf 3rd 方 jar
Apache Karaf 3rd party jar without bundle
我得到了一个第 3 方 jar,我将其用于捆绑包中的 Blowfish 解密,我需要将其部署到 apache karaf 上。
所以现在我还需要 karaf 来了解这个 jar,但我找到的每个解决方案都是关于为那个 jar 创建一个完整的包,这对于一个简单的库 imo 来说非常多。
我已经在我的本地 Maven 存储库中安装了那个 jar 并添加了依赖项,但这也不起作用(至少在 karaf 上)。
有没有其他方法可以让第 3 方 jar 在 apache karaf 上工作?
您使用的是功能 xml 文件吗?如果是这样,您可以使用 wrap:mvn: 使其可用:
<feature name="feature1" version="1.0.0">
<bundle>wrap:mvn:group.id/third.party.artefact.id/version</bundle>
<bundle>mvn:group.id/your.artefact/version</bundle>
</feature>
这将在运行时捆绑第三方 jar,并确保它已安装供您的捆绑包使用。摘自 Karaf - Creating bundles
沉迷于@fiw,您可能想使用 Bndtools osgify 第三方 jar。为了实现它:
- Download bnd tools
- 打开一个 shell 你已经下载了 bnd-2.4.0.jar.
类型:
java -jar bnd-2.4.0.jar wrap -o osgify-dependency.jar dependency.jar
其中 dependency.jar 是您的第三方,osgify-dependency.jar 将是输出。
部署到 maven repo 覆盖以前的 maven 坐标,或者用不同的坐标部署你的第三方。
mvn deploy:deploy-file -Dfile osgify-dependency.jar ...
我得到了一个第 3 方 jar,我将其用于捆绑包中的 Blowfish 解密,我需要将其部署到 apache karaf 上。
所以现在我还需要 karaf 来了解这个 jar,但我找到的每个解决方案都是关于为那个 jar 创建一个完整的包,这对于一个简单的库 imo 来说非常多。
我已经在我的本地 Maven 存储库中安装了那个 jar 并添加了依赖项,但这也不起作用(至少在 karaf 上)。
有没有其他方法可以让第 3 方 jar 在 apache karaf 上工作?
您使用的是功能 xml 文件吗?如果是这样,您可以使用 wrap:mvn: 使其可用:
<feature name="feature1" version="1.0.0">
<bundle>wrap:mvn:group.id/third.party.artefact.id/version</bundle>
<bundle>mvn:group.id/your.artefact/version</bundle>
</feature>
这将在运行时捆绑第三方 jar,并确保它已安装供您的捆绑包使用。摘自 Karaf - Creating bundles
沉迷于@fiw,您可能想使用 Bndtools osgify 第三方 jar。为了实现它:
- Download bnd tools
- 打开一个 shell 你已经下载了 bnd-2.4.0.jar.
类型:
java -jar bnd-2.4.0.jar wrap -o osgify-dependency.jar dependency.jar
其中 dependency.jar 是您的第三方,osgify-dependency.jar 将是输出。
部署到 maven repo 覆盖以前的 maven 坐标,或者用不同的坐标部署你的第三方。
mvn deploy:deploy-file -Dfile osgify-dependency.jar ...