gpt4 book ai didi

java - 在 Eclipse 中刷新类路径容器名称

转载 作者:行者123 更新时间:2023-12-02 07:31:50 25 4
gpt4 key购买 nike

嗨,我正在为 Eclipse 开发一个插件,其中部分涉及为 java 项目创建/维护类路径容器。在某些情况下,容器名称 (getDescription()) 可能会发生更改。现在只需选择容器或项目并按 F5 刷新就没有问题并显示新名称,但我似乎无法以编程方式执行此操作。我试过:

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
...
for (IProject p: root.getProjects()) {
... some checks done here...
p.refreshLocal(IResource.DEPTH_INFINITE, null);
}

但这似乎并没有刷新名称。我还尝试过一些愚蠢的事情,例如复制 RefreshAction 的部分内容(我猜是按 F5 时使用的内容),但这也不起作用。任何帮助将不胜感激。

最佳答案

我发现 JDT 希望类路径容器以不可变的方式运行。也就是说,IClasspathContainer 方法返回的任何值都不会从一次调用更改为另一次调用。如果这样做的话,JDT 可能会发生有趣的事情。这不是一个很好的 API。

因此,将其视为不可变对象(immutable对象),当您需要更改某些内容(无论是条目还是描述)时,请通过 JavaCore.setClasspathContainer() 调用提供新的 IClasspathContainer 实例。这将确保所有内容都正确更新。

关于java - 在 Eclipse 中刷新类路径容器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12806888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com