В Java у меня может быть несколько экземпляров некоторого ресурса в пути к классам, и я могу получить к ним доступ таким образом:
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Enumeration<URL> resources = loader.getResources("META-INF/services/myService.properties");
while(resources.hasMoreElements()){
URL resource = resources.nextElement();
// process each resource here
}
Это позволяет использовать интерфейсы поставщика услуг, где несколько реализаций могут быть доступны во время выполнения путем добавления дополнительных jar-файлов в путь к классам.
Есть ли эквивалент в Java ME?
[ОБНОВЛЕНИЕ 2011-April-11]
Если бы я мог каким-то образом получить список файлов jar в пути к классам, я мог бы просто передать URL-адреса соединителю следующим образом:
String [] jarFiles = ... // somehow I got this
for(int i = jarFiles.length-1; i >= 0; i--){
String url = "jar:file:"+jarFiles[i]+"!/META-INF/services/myService.properties";
InputStream in = Connector.openInputStream(url);
//process each resource here
}
Есть идеи, как мне получить все jar-файлы в classpath в J2ME?