1

我目前正在开发一个 Eclipse 插件,我有点迷路了......

我有一个自定义性质,我想在用户添加这个性质时将.jar 添加到用户项目的类路径中(我想以configure()我的性质的方法更新项目的类路径)。

我只是不知道该怎么做......我想我明白我必须将这个.jar“映射”到一个IClasspathEntry,然后我可以将它添加到我的IJavaProject中。问题是如何在我的插件中干净地包含这个 jar,以及如何将它“映射”到 IClasspathEntry(.jar 当前位于我的插件项目根目录的 lib 文件夹中)

提前感谢您的宝贵时间!

瓦伦丁

4

2 回答 2

2

首先,如何将其映射到类路径条目:

IClasspathEntry jar = JavaCore.newLibraryEntry(new Path(jarPath), null, null)

然后,您可以将此 IClasspathEntry 添加到项目现有类路径的末尾并使用 IJavaProject 中的 get/setRawClasspath 方法进行设置:

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaProject.html

将此 jar 保存在您的 lib 目录中很好,但您可能需要确保在安装插件时将其解压缩(而不是作为 .jar 保存在 /plugins 目录中),否则项目将无法访问此 jar . 您可以使用 FileLocator 类找到此 jar 的路径:

http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fcore%2Fruntime%2FFileLocator.html

于 2012-10-10T19:04:53.080 回答
0

您需要编写一个 IClasspathContainer,这是您提供的代码,可以在运行时解析具体的类路径条目。

有各种资源可用于如何编写类路径容器,包括本教程

于 2012-10-10T18:57:09.310 回答