为什么我无法访问IPackageFragmentRoot?

时间:2016-07-06 11:20:06

标签: java eclipse eclipse-plugin eclipse-jdt

我会尝试开发一些插件。 所以,我正在学习插件和听众。 我尝试使用listener和javamodel开发示例。 但是,当我访问IPackageFragmentRoot元素时,它没有做我想要的。 所以,我调试了它。然后,我看到IJavaProject元素没有打开!但是我仍然可以在eclipse中访问这个项目。

我的代码中出了什么问题?以及如何在IPackageFragmentRoot中访问?

这些是非开放状态的示例。

project

pacakage

这是代码段。 currentProject是我在包资源管理器中选择的IProject。

if (currentProject != null) {
    try {
        currentProject.open(new NullProgressMonitor());
    } catch (CoreException e) {
        e.printStackTrace();
    }
    IJavaProject javaProject = JavaCore.create(currentProject);
    ProjectTreeNode root = createTreeNode(javaProject.getElementName());
    IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot("src");
    root = getContents(srcFolder, root);
    setInput(root);
}

添加

我在新工作区中导入了一些项目。

enter image description here

这是错误的方式吗?

1 个答案:

答案 0 :(得分:0)

我假设你使用'Run as Eclipse Application'来运行和测试你的插件。

当您运行插件时,Eclipse将使用新工作区启动一个全新的Eclipse实例。此工作空间中不存在任何现有代码。您必须在此新工作区中创建包含要测试的项目的新项目。