【发布时间】:2018-09-09 11:34:29
【问题描述】:
在 Eclipse 中使用 Plugin from Existing JAR Archives 向导是否是将 OSGi 包添加到 Eclipse RCP 项目的正确方法?我了解 Eclipse RCP 使用 OSGi 包,并且该向导有效地重新打包 JAR 以将它们制成 OSGi 包,但是如果 MANIFEST.MF 文件已经包含 OSGi 打包信息怎么办?
例如,我想将 Jersey REST 客户端添加到 RCP 项目中,并且 jersey-client.jar 的 MANIFEST.MF 包含以下内容
Manifest-Version: 1.0
Bnd-LastModified: 1504605074705
Build-Jdk: 1.8.0_144
Built-By: pavel
Bundle-Description: Jersey core client implementation
Bundle-DocURL: http://www.oracle.com/
Bundle-License: https://oss.oracle.com/licenses/CDDL+GPL-1.1, https://
oss.oracle.com/licenses/CDDL+GPL-1.1
Bundle-ManifestVersion: 2
Bundle-Name: jersey-core-client
Bundle-SymbolicName: org.glassfish.jersey.core.jersey-client
Bundle-Vendor: Oracle Corporation
Bundle-Version: 2.26.0
Created-By: Apache Maven Bundle Plugin
Export-Package: org.glassfish.jersey.client;uses:="javax.inject,javax.
net.ssl,javax.ws.rs,javax.ws.rs.client,javax.ws.rs.core,javax.ws.rs.e
xt,org.glassfish.jersey,org.glassfish.jersey.client.spi,org.glassfish
.jersey.internal,org.glassfish.jersey.internal.inject,org.glassfish.j
ersey.internal.util,org.glassfish.jersey.internal.util.collection,org
.glassfish.jersey.message,org.glassfish.jersey.message.internal,org.g
lassfish.jersey.spi";version="2.26.0",org.glassfish.jersey.client.aut
hentication;uses:="javax.ws.rs,javax.ws.rs.client,javax.ws.rs.core";v
ersion="2.26.0",org.glassfish.jersey.client.filter;uses:="javax.ws.rs
.client,javax.ws.rs.core";version="2.26.0",org.glassfish.jersey.clien
t.spi;uses:="javax.net.ssl,javax.ws.rs.client,javax.ws.rs.core,org.gl
assfish.jersey.client,org.glassfish.jersey.process";version="2.26.0"
Import-Package: javax.annotation;version="[1.2,2)",javax.inject;versio
n="[1.0,2)",javax.net.ssl,javax.ws.rs;version="[2.1,3)",javax.ws.rs.c
lient;version="[2.1,3)",javax.ws.rs.core;version="[2.1,3)",javax.ws.r
s.ext;version="[2.1,3)",org.glassfish.jersey;version="[2.26,3)",org.g
lassfish.jersey.client.spi,org.glassfish.jersey.internal;version="[2.
26,3)",org.glassfish.jersey.internal.guava;version="[2.26,3)",org.gla
ssfish.jersey.internal.inject;version="[2.26,3)",org.glassfish.jersey
.internal.l10n;version="[2.26,3)",org.glassfish.jersey.internal.spi;v
ersion="[2.26,3)",org.glassfish.jersey.internal.util;version="[2.26,3
)",org.glassfish.jersey.internal.util.collection;version="[2.26,3)",o
rg.glassfish.jersey.message;version="[2.26,3)",org.glassfish.jersey.m
essage.internal;version="[2.26,3)",org.glassfish.jersey.model.interna
l;version="[2.26,3)",org.glassfish.jersey.process;version="[2.26,3)",
org.glassfish.jersey.process.internal;version="[2.26,3)",org.glassfis
h.jersey.spi;version="[2.26,3)",org.glassfish.jersey.uri;version="[2.
26,3)"
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.2.0.201605172007
使用 Existing JAR Archives 中的插件 向导是否是将此依赖项添加到 RCP 项目的正确方法,或者如果它已经是 OSGi 包,是否应该使用不同的方法?
【问题讨论】:
-
您是否尝试将捆绑包添加到目标平台?
标签: java eclipse osgi eclipse-rcp osgi-bundle