2010-10-19 24 views
2

使用ClassLoader#getResource(),我需要访问除当前代码所在的项目之外的项目中存在的文件。如何才能做到这一点?使用类加载器获取不同项目中的资源

我正在使用eclipse。

目录结构:

 
Root 
|-project1 
| |-package 
| |-myResourceFile 
|-project2 
    |-package 
    |-myCodeFile 

我试图从myCodeFile得到myResourceFile,使用myCodeFile.class.getClassLoader()的getResource( “../../ PROJECT1 /包/ myResourceFile”),但它总是返回null。我不想将project1添加到project2的类路径中。虽然补充说也行不通。

与问候,

回答

1

这是一个糟糕的主意,试图从这样的另一个项目中读取文件,因为它关系到你正是这样的目录结构。您已经通过使用getResource()而不是使用java.util.File API来解耦项目,从而完成了第一步,以便您可以完全顺利完成。

在Eclipse中,您可以将其他项目添加到项目的构建路径(项目属性 - > Java构建路径 - >项目)。你现在应该可以读取其他项目的文件。