为什么IResource.getRawLocation()为IProject返回null

Ste*_*ler 4 eclipse eclipse-plugin

我需要项目文件夹的绝对位置,所以我试过了

project.getRawLocation()
Run Code Online (Sandbox Code Playgroud)

但这会返回null(至少在我的情况下,我使用导入手动导入项目...现有项目进入工作区,我已经选中了将项目复制到工作区复选框).

事情就是这样

project.getParent().getRawLocation() 
Run Code Online (Sandbox Code Playgroud)

返回/work/Projekte/runtime-MyProduct.product哪个是正确的

project.members()[0].getRawLocation()
Run Code Online (Sandbox Code Playgroud)

返回/work/Projekte/runtime-MyProduct.product/Test/.cproject也是正确的.

因此,我希望如此

project.getRawLocation() 
Run Code Online (Sandbox Code Playgroud)

会回来/work/Projekte/runtime-MyProduct.product/Test,但它会回来null.

谁能解释和/或告诉我哪里错了?

gre*_*449 6

JavaDoc getRawLocation()表示

如果此资源是现有项目,则返回的路径将等于项目描述中的位置路径.

项目描述的JavaDoc IProjectDescription.getLocation()说:

如果应使用默认位置,则返回null

getLocation()调用将返回一个路径.