我有一个 Eclipse Java 项目,想要获取项目源目录、类路径等信息。我当前的实现解析.project
文件。但由于我没有找到任何描述其结构的官方文档.project
文件中,我对这种方法的稳健性有些担忧。
一种更方便、更可靠的方法是使用 JDT(无头)加载项目并从IJavaProject
目的。
虽然JDT的开发者指南说
JDT Core 包使您可以访问 Java 模型对象和无头 Java IDE 基础设施。
我能找到的所有打开现有 Java 项目的示例都得到IJavaProject
来自项目内的对象workspace
或使用IProject
目的。但我找不到将项目添加到的方法workspace
或构建一个IProject/IJavaProject
从一条路径到.project
file.
有人可以帮忙吗?
是的,并且都可以通过清晰稳定的 API 来完成。 org.eclipse.jdt.core
是一个插件,就像org.eclipse.core.resources
(这是你会得到一个IWorkspace
实例),并且他们都希望运行within an Eclipse 运行时,如果你这样写的话,这可能是无头的日食应用。 JDT 使用.classpath
文件来记录源、库和构建输出的位置,以及要使用的库的抽象引用,而.project
文件记录了项目的一般类型——Java、PHP、Web、这些或其他的某种组合——以及有关要执行哪些构建器的更多信息。
因此,让自己成为一个无头 Eclipse 应用程序,或者将您的最终目标功能打包在其中。
https://wiki.eclipse.org/FAQ_What_is_an_Eclipse_application%3F https://wiki.eclipse.org/FAQ_What_is_an_Eclipse_application%3F
https://wiki.eclipse.org/FAQ_What_are_extensions_and_extension_points%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/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.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/JavaCore.html#getJavaCore--
http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaProject.html#getResolvedClasspath-boolean- http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaProject.html#getResolvedClasspath-boolean-
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)