2011-04-07 279 views
0

在Java中,我可以在类路径中的某些资源的多个实例,并因此访问它们:加载资源ME

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年四月11]

如果我能以某种方式得到的classpath中的jar文件的列表,我很可能只是通过网址连接器是这样的:

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

你需要什么.jars? – ThomasRS 2011-04-12 20:16:21

+0

我可以使用System.getProperty(“java.class.path”)在J2SE中获得类路径 - 我将测试我是否可以在JME中执行此操作。 – tofarr 2011-04-13 10:00:49

+0

这个属性似乎不存在于JME中。任何人都知道是否有相同的东西? – tofarr 2011-04-13 10:14:49

回答

0

经过一番研究,看起来应用程序必须包含在J2ME环境中的单个Jar文件中,所以像类路径这样的概念根本不适用,这意味着这是不可能的。所有依赖关系必须在编译时可用。