java - 是否可以在 headless (headless)模式下使用 JDT 加载 eclipse Java 项目?

标签 java eclipse eclipse-jdt headless

我有一个 eclipse Java 项目,想要获取项目源目录、类路径等信息。我当前的实现解析 .project 文件。但由于我没有找到任何描述 .project 文件结构的官方文档,我对这种方法的稳健性有些担忧。

一种更方便、更可靠的方法是使用 JDT( headless (headless))加载项目并从 IJavaProject 对象获取相关信息。

虽然JDT的开发指南说

JDT Core packages give you access to the Java model objects and headless Java IDE infrastructure.

我能找到的所有打开现有 Java 项目的示例都从 workspace 中的项目获取 IJavaProject 对象或使用 IProject 对象。但是我找不到将项目添加到 workspace 或从 .project 文件的路径构建 IProject/IJavaProject 的方法.

有人可以帮忙吗?

最佳答案

是的,而且都可以通过清晰稳定的API来完成。 org.eclipse.jdt.core是一个插件,就像org一样。 eclipse.core.resources(这是您将获得 IWorkspace 实例的地方),它们都希望在Eclipse 运行时运行/strong>,如果这是您编写 Eclipse 应用程序 的方式,那么它可以是 headless (headless)的。 JDT 使用.classpath 文件来记录源、库和构建输出在哪里,以及使用哪些抽象的库引用,而.project 文件记录的是什么它通常是一种项目——Java、PHP、Web,这些或其他的一些组合——以及关于要执行哪些构建器的更多信息。

因此,让自己成为一个 headless (headless)的 Eclipse 应用程序,或者将您的最终目标功能打包到其中。

https://wiki.eclipse.org/FAQ_What_is_an_Eclipse_application%3F https://wiki.eclipse.org/FAQ_What_are_extensions_and_extension_points%3F http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_core_runtime_applications.html?cp=2_1_1_27

http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/resources/ResourcesPlugin.html#getWorkspace-- http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html#getJavaCore-- http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaProject.html#getResolvedClasspath-boolean-

关于java - 是否可以在 headless (headless)模式下使用 JDT 加载 eclipse Java 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37776230/

相关文章:

java - 适合存储java项目信息的数据结构

java - 有没有办法从 IResourceDelta 获取 IJavaElementDelta 对象?

java - 语法 "variable = variable = variable;"发生了什么?

java - 如何强制 Java 抛出算术异常?

java - 文件类型的 Apache-Camel 选择

java - 在 Apache Spark 中提交应用程序

java - 无法使用 eclipse helios 设置 apache axis 2

Android actionbarsherlock 应用程序在启动时崩溃 : Unable to resolve superclass

java - eclipse rap下载服务servlet报错

java - 如何将 JDT 添加为 Maven 依赖项?