Java - 项目依赖项和当前\相对工作目录

时间:2012-08-06 08:30:56

标签: jvm java

我有两个项目,其中一个依赖于另一个,即项目A依赖于项目B,这两个项目位于不同的目录中。

在独立项目(即项目B)中,有一个类,其中包含一个代码,该代码尝试访问与独立项目目录相关的目录和文件。由于依赖项目,即项目A,从独立项目中实例化一个对象,当对象执行System.getProperty("user.dir")时,它返回执行目录,即依赖项目的目录;同样适用于new File(".").getAbsolutePath()

我想以通用方式解决问题,即我希望避免将路径作为参数传递,而是希望以编程方式使用相对目录。

任何指导\线索? 附:不确定它是否相关,但我使用Eclipse作为我的IDE。

更新 这应该举行......

final String clsName = getClass().getName() + ".class"; 
System.out.println(getClass().getResource(clsName));

1 个答案:

答案 0 :(得分:1)

我使用类加载器而不是直接使用路径。在eclipse中,在部署情况下,两个项目资源都应该在类路径中。

ProjectA
    example.png
ProjectB
    foo.txt

这样的东西应该能够从项目A或B加载资源。

URL url = getClass().getResource("/example.png"); // get URL
InputStream stream = getClass().getResource("/foo.txt").openStream(); // open a stream