在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年4月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
}
我知道如何在J2ME的类路径中获取所有jar文件吗?
答案 0 :(得分:0)
经过一些研究,看起来应用程序必须包含在J2ME环境中的单个Jar文件中,因此类路径等概念根本不适用,这意味着这是不可能的。所有依赖项必须在编译时可用。