netbeans项目参考问题

时间:2016-05-23 04:23:22

标签: java netbeans

我有两个项目:Test1和Test2。测试2有一个测试项目文件夹的脚本:

this.getClass().getClassLoader().getResource("").getPath()    

结果是:

/home/andy/Documents/Project/Test2/build/classes/

当Test2将Test1添加到编译时库中时:

this.getClass().getClassLoader().getResource("").getPath()

结果是:

/home/andy/Documents/Project/Test1/build/classes/

所以我的问题是:
将Test1添加到编译时库后,为什么路径不是/home/andy/Documents/Project/Test2/build/classes/

1 个答案:

答案 0 :(得分:0)

您正在请求类加载器,更具体地说是用于加载Test2.class的类加载器。之后,您要求类加载器为您提供资源。类加载器的默认行为是询问父类加载器,它是否可以解析请求。由于您没有父类加载器,因此将使用jvm的bootstrap类加载器。当询问具有空名称的资源时,它可以通过类路径的第一个条目来满足此要求。根据NetBeans配置类路径的方式,可以是Test1或Test2。

如果您想获得确定性结果,请从项目中指定资源,该项目对项目是唯一的。