在 Virgo-Server Import-Package 中,由于缺少捆绑约束中的约束,无法 resolved.Caused
In Virgo-Server Import-Package could not be resolved.Caused by missing constraint in bundle constraint
我是 Java Spring 框架的新手。我已经创建了一个自定义包并想在 virgo server.But 中部署 jar/bundle 我无法成功地这样做。
这是我的 template.mf 文件屏幕,我在其中添加了依赖项
这是我的 java 文件,我在其中导入了软件包
这是原始 jar 文件屏幕
这是我的pom.xml
,我在其中添加了依赖项
但是一旦在 maven 构建之后部署 jar 文件(不会抛出错误),我就会不断收到错误
Caused by: org.eclipse.virgo.kernel.osgi.framework.UnableToSatisfyBundleDependenciesException: Unable to satisfy dependencies of bundle 'com.xyz.costfromsap.application' at version '1.4.0.RELEASE': Cannot resolve: com.xyz.costfromsap.application
Resolver report:
An Import-Package could not be resolved. Caused by missing constraint in bundle <com.xyz.costfromsap.application_1.4.0.RELEASE>
constraint: <Import-Package: com.sap.conn.jco; version="[3.0.0,4.0.0)">
这是我将其转换为 OSGI 捆绑器后更新的依赖 jar 文件
我也更新了 template.mf
和 pom.xml
但问题依然存在。
问题是 sapjco3.jar
不是 OSGi 包。它只是一个普通的旧 Jar 文件。您需要将其转换为 OSGi 包。在 Eclipse 或任何 Eclipse 变体中,请遵循以下步骤。您只能在捆绑 MANIFEST.MF
中的 Export-Package
中列出的软件包上使用 Import-Package
新建 -> 项目
来自现有存档的插件 -> 添加外部并加载您的 Jar,然后单击下一步。
输入名称和 Select OSGi 框架单选按钮并单击完成。
现在您将创建一个新项目。转到 MANIFEST.MF
文件和运行时选项卡和导出包,单击添加按钮并 select 列出所有包。
最后,您的 MANIFEST.MF
应该 Export-Package:
包含所有软件包,如下所示。
现在右键单击该项目并单击导出和 Select Java -> Jar 文件。
Select 个要导出的文件。忽略 Eclipse 特定文件和 pom 文件。
单击下一步,直到您看到项目中的 Manifest Selection 和 Select Use existing manifest 选项和 select the MANIFEST.MF
in META-INF。
单击完成并在您的 Virgo 服务器中使用该 Jar。将它放在 VIRGO_HOME/repository/usr.
我是 Java Spring 框架的新手。我已经创建了一个自定义包并想在 virgo server.But 中部署 jar/bundle 我无法成功地这样做。
这是我的 template.mf 文件屏幕,我在其中添加了依赖项
这是我的 java 文件,我在其中导入了软件包
这是原始 jar 文件屏幕
这是我的pom.xml
,我在其中添加了依赖项
但是一旦在 maven 构建之后部署 jar 文件(不会抛出错误),我就会不断收到错误
Caused by: org.eclipse.virgo.kernel.osgi.framework.UnableToSatisfyBundleDependenciesException: Unable to satisfy dependencies of bundle 'com.xyz.costfromsap.application' at version '1.4.0.RELEASE': Cannot resolve: com.xyz.costfromsap.application
Resolver report:
An Import-Package could not be resolved. Caused by missing constraint in bundle <com.xyz.costfromsap.application_1.4.0.RELEASE>
constraint: <Import-Package: com.sap.conn.jco; version="[3.0.0,4.0.0)">
这是我将其转换为 OSGI 捆绑器后更新的依赖 jar 文件
我也更新了 template.mf
和 pom.xml
但问题依然存在。
问题是 sapjco3.jar
不是 OSGi 包。它只是一个普通的旧 Jar 文件。您需要将其转换为 OSGi 包。在 Eclipse 或任何 Eclipse 变体中,请遵循以下步骤。您只能在捆绑 MANIFEST.MF
Export-Package
中列出的软件包上使用 Import-Package
新建 -> 项目
来自现有存档的插件 -> 添加外部并加载您的 Jar,然后单击下一步。
输入名称和 Select OSGi 框架单选按钮并单击完成。
现在您将创建一个新项目。转到 MANIFEST.MF
文件和运行时选项卡和导出包,单击添加按钮并 select 列出所有包。
最后,您的 MANIFEST.MF
应该 Export-Package:
包含所有软件包,如下所示。
现在右键单击该项目并单击导出和 Select Java -> Jar 文件。
Select 个要导出的文件。忽略 Eclipse 特定文件和 pom 文件。
单击下一步,直到您看到项目中的 Manifest Selection 和 Select Use existing manifest 选项和 select the MANIFEST.MF
in META-INF。
单击完成并在您的 Virgo 服务器中使用该 Jar。将它放在 VIRGO_HOME/repository/usr.