<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.packageadmin</artifactId>
<version>1.4.0</version>
</dependency>
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.service.packageadmin.PackageAdmin;
BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
ServiceReference packageAdminRef = bundleContext.getServiceReference(PackageAdmin.class.getName());
PackageAdmin packageAdmin = (PackageAdmin) bundleContext.getService(packageAdminRef);
Bundle[] bundles = packageAdmin.getBundles(null, null);
for (Bundle bundle : bundles) {
String[] packageNames = packageAdmin.getImportedPackages(bundle);
for (String packageName : packageNames) {
System.out.println("Package Name: " + packageName);
}
}
Bundle bundle = bundleContext.getBundle();
String[] importedPackages = packageAdmin.getImportedPackages(bundle);
String[] exportedPackages = packageAdmin.getExportedPackages(bundle);