我有一个 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/