Eclipse插件:在为项目添加自定义属性时将jar添加到类路径

时间:2012-10-10 18:11:02

标签: java eclipse eclipse-plugin

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

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

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

提前感谢您的时间!

的Valentin

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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

答案 1 :(得分:0)

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

有多种资源可用于编写类路径容器,包括this tutorial