基础的API
BundleActivator BundleContext ServiceReference HelloServiceFactory ServiceTracker
osgi
疑惑:
Import-Package
最最基础的bundle中包含哪些 package?
很多, org.osgi.framework 是其中一个, org.osgi.framework.BundleActivator 则是位于其下。
为什么只导入package ‘org.osgi.framework ’ 即可,不需要导入整个org.eclipse.osgi_3.2.0.v20060601.jar bundle吗?
org.eclipse.osgi_3.2.0.v20060601.jar 对应几个bundle ———— osgi中 一个jar 只能对应一个bundle吗? 是的!
看看其中的MANIFEST.MF就知道了吧
Manifest-Version: 1.0 Bundle-Activator: org.eclipse.osgi.framework.internal.core.SystemBundl eActivator Bundle-RequiredExecutionEnvironment: J2SE-1.4,OSGi/Minimum-1.0 Export-Package: org.eclipse.osgi.event;version="1.0",org.eclipse.osgi. framework.console;version="1.0",org.eclipse.osgi.framework.eventmgr;v ersion="1.0",org.eclipse.osgi.framework.log;version="1.0",org.eclipse .osgi.service.datalocation;version="1.0",org.eclipse.osgi.service.deb ug;version="1.0",org.eclipse.osgi.service.environment;version="1.0",o rg.eclipse.osgi.service.localization;version="1.0",org.eclipse.osgi.s ervice.pluginconversion;version="1.0",org.eclipse.osgi.service.resolv er;version="1.0",org.eclipse.osgi.service.runnable;version="1.0",org. eclipse.osgi.service.urlconversion;version="1.0",org.eclipse.osgi.sto ragemanager;version="1.0",org.eclipse.osgi.util;version="1.0",org.osg i.framework;version="1.3",org.osgi.service.condpermadmin;version="1.0 ",org.osgi.service.packageadmin;version="1.2",org.osgi.service.permis sionadmin;version="1.2",org.osgi.service.startlevel;version="1.0",org .osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.3.1" ,org.eclipse.core.runtime.adaptor;x-friends:="org.eclipse.core.runtim e",org.eclipse.core.runtime.internal.adaptor;x-internal:=true,org.ecl ipse.core.runtime.internal.stats;x-friends:="org.eclipse.core.runtime ",org.eclipse.osgi.baseadaptor;x-internal:=true,org.eclipse.osgi.base adaptor.bundlefile;x-internal:=true,org.eclipse.osgi.baseadaptor.hook s;x-internal:=true,org.eclipse.osgi.baseadaptor.loader;x-internal:=tr ue,org.eclipse.osgi.framework.adaptor;x-internal:=true,org.eclipse.os gi.framework.debug;x-internal:=true,org.eclipse.osgi.framework.intern al.core;x-internal:=true,org.eclipse.osgi.framework.internal.protocol ;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.bundle entry;x-internal:=true,org.eclipse.osgi.framework.internal.protocol.b undleresource;x-internal:=true,org.eclipse.osgi.framework.internal.pr otocol.reference;x-internal:=true,org.eclipse.osgi.framework.internal .reliablefile;x-internal:=true,org.eclipse.osgi.framework.launcher;x- internal:=true,org.eclipse.osgi.framework.util;x-internal:=true,org.e clipse.osgi.internal.baseadaptor;x-internal:=true,org.eclipse.osgi.in ternal.module;x-internal:=true,org.eclipse.osgi.internal.profile;x-in ternal:=true,org.eclipse.osgi.internal.resolver;x-internal:=true,org. eclipse.osgi.internal.verifier;x-internal:=true,org.eclipse.osgi.inte rnal.provisional.verifier;x-friends:="org.eclipse.update.core,org.ecl ipse.ui.workbench" Bundle-Version: 3.2.0.v20060601 Eclipse-SystemBundle: true Bundle-Copyright: %copyright Bundle-Name: %systemBundle Bundle-Description: %systemBundle Bundle-DocUrl: http://www.eclipse.org Bundle-ManifestVersion: 2 Export-Service: org.osgi.service.packageadmin.PackageAdmin,org.osgi.se rvice.permissionadmin.PermissionAdmin,org.osgi.service.startlevel.Sta rtLevel,org.eclipse.osgi.service.debug.DebugOptions Bundle-Vendor: %eclipse.org Main-Class: org.eclipse.core.runtime.adaptor.EclipseStarter Bundle-SymbolicName: org.eclipse.osgi; singleton:=true Bundle-Localization: systembundle Eclipse-ExtensibleAPI: true
原文:http://www.cnblogs.com/FlyAway2013/p/3775686.html