2014-03-27 37 views

回答

5

類的從包將在classNameOfCurrentBundle列表中端名稱:轉換一個className類類型

BundleWiring bundleWiring = bundle.adapt(BundleWiring.class); 
// Getting all the class files (also from imported packages) 
Collection<String> resources = bundleWiring.listResources("/", "*.class", BundleWiring.LISTRESOURCES_RECURSE); 

List<String> classNamesOfCurrentBundle = new ArrayList<String>(); 
for (String resource : resources) { 
    URL localResource = bundle.getEntry(resource); 
    // Bundle.getEntry() returns null if the resource is not located in the specific bundle 
    if (localResource != null) { 
     String className = resource.replaceAll("/", "."); 
     classNamesOfCurrentBundle.add(className); 
    } 
} 

bundle.loadClass(className); 
+0

請參閱問題http://stackoverflow.com/questions/37895399/get-bundle-classes-of-private-packages-in-another-bundle –

相關問題