gpt4 book ai didi

java - 在 OSGi 应用程序中获取 Eclipse 项目信息

转载 作者:行者123 更新时间:2023-12-01 15:32:40 25 4
gpt4 key购买 nike

我正在开发一个项目,该项目使用 Eclipse AST 检查 Eclipse Java 项目并获取源文件的一些信息。现在它是一个 Eclipse 插件,但我们需要使其独立于 Eclipse,我们只使用 Eclipse 的 AST 库。

我尝试复制所需的 JAR 并将项目作为普通 Java 应用程序运行(不是 Eclipse 插件,不依赖于 Eclipse),但后来我开始遇到一些错误,因为当我在 Eclipse 之外运行应用程序时,AST 可以无法从 Eclipse 获取所需信息(项目数据)并在某些情况下返回 null。例如,当我访问方法调用(MethodInitationNode 类)时,我需要知道这是哪个类的方法,但由于我解释的 AST 错误,我无法知道(MethodInitationNode.resolveMethodBinding( ) 在这种情况下返回 null)。

我想我需要获取一个 IProject,在 Eclipse 插件中我从 IWorkspace(ResourcesPlugin.getWorkspace()) 获取它我认为所有 Eclipse 插件都可用。

现在,我想如果我可以用它制作一个 OSGi 应用程序,也许我可以以某种方式获得那个 IProject 但我不知道如何做到这一点。文档和教程没有多大帮助。我也很可能错过了有关 Eclipse 项目和/或 OSGi 应用程序的一些基本要点:)。

简而言之,如何在 OSGi 应用程序中获取 IProject 数据?

最佳答案

首先,每个 Eclipse 应用程序都是一个 OSGi 应用程序,因此在纯 OSGi 环境或 Eclipse 中执行操作没有区别。

其次,“工作区”是 Eclipse 特定的构造,因此使您的应用程序“独立”于 Eclipse 根本没有任何意义,项目的内容,尤其是 Java 项目是 Eclipse 特定的(因此您还必须解析 .classpath 文件,带有来自 Eclipse 的 API,以了解必须编译哪些资源、解析 .project 文件等。

工作区机制是包 org.eclipse.core.resources 的一部分。您需要将其包含在您的 OSGi 应用程序中。正如已经提到的,您可以像在 Eclipse 环境中一样访问所有内容。

关于java - 在 OSGi 应用程序中获取 Eclipse 项目信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391612/

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