前段时间我写了一个 Eclipse 插件,它利用 JDT 来做一些解析。现在我正在考虑制作这个应用程序的命令行版本。自然,我希望重用解析代码,所以我需要让 JDT 在 Eclipse 之外工作。有什么办法可以做到这一点(也许构建一些包装器等)?JDT 库是否有任何端口提供相同的 API/功能但独立于 Eclipse 工作?
任何帮助将不胜感激。谢谢。
前段时间我写了一个 Eclipse 插件,它利用 JDT 来做一些解析。现在我正在考虑制作这个应用程序的命令行版本。自然,我希望重用解析代码,所以我需要让 JDT 在 Eclipse 之外工作。有什么办法可以做到这一点(也许构建一些包装器等)?JDT 库是否有任何端口提供相同的 API/功能但独立于 Eclipse 工作?
任何帮助将不胜感激。谢谢。
您可以在命令行中使用 JDT Core。解析、AST、重写一切都可以在没有 UI 的情况下完成。
JDT 分为两个不同的部分。解析部分应该都在完全没有 UI 依赖的插件中。我认为它们确实依赖于 Eclipse 运行时,这意味着您或多或少需要创建一个“无头 RCP 应用程序”。
为了能够在独立应用程序中使用 AST 类,您必须使用此类库(其中 xx 代表版本):
org.eclipse.core.contenttype_xx.jar
org.eclipse.core.jobs_xx.jar
org.eclipse.core.resources_xx.jar
org.eclipse.core.runtime_xx.jar
org.eclipse.equinox.common_xx.jar
org.eclipse.equinox.preferences_xx.jar
org.eclipse.jdt.core_xx.jar
org.eclipse.osgi_xx.jar
如果您使用 JDT 安装了 eclipse,所有这些 jars 都在 eclipse 的插件文件夹中,例如在 Windows 中它可能在C:\Program Files\eclipse\plugins\