1

我试图构建一个注释处理器作为eclipse插件。 这是我第一次为日食编写一个插件,所以我不确定我是否使用了正确的术语,如果我不太清楚,我很抱歉。Eclipse插件开发,公开Java项目中的插件类

我的目标是拥有一个插件,它可以从带注释的Java类生成代码,我希望插件包含所有注释,所以除了安装插件之外,用户的项目不需要额外的依赖关系,即用户安装插件编写一些类,使用一些注释对它们进行注释(打包在插件中)并获取生成的代码。

是否有可能做我想做的事情?我见过一些其他插件(例如Xtent),它们添加了自己的库。

10x

回答

1

这是可能的。您需要实现一个自定义的IClasspathContainer,它可以动态解析您的插件jar,并在构建类路径容器时将注释类添加到项目构建路径中。在构建路径UI中,IClasspathContainer的名称为“库”。像JRE,用户库等东西都是通过IClasspathContainer API实现的。

要查看示例,请获取org.eclipse.jdt.core和org.eclipse.jdt.ui插件的源代码。

+0

感谢您的快速响应,我现在试图弄清楚的是 1.如何将库打包到我的插件中 2.如何从插件中引用此库如果我想使用这样的代码,我应该使用什么路径 'JavaCore.newLibraryEntry(new Path(“???”)...' – Gilad 2012-07-10 04:38:37

+0

有多种方式来分发您的注释类jar。最好是转将jar放入一个独立的OSGi包中,而不是放在你的工具插件中,然后从你的特性中引用这两个bundle。要在运行时找到你的bundle的路径,你可以使用FileLocator.getBundleFile(Bundle) 。要获取Bundle对象,请使用Platform.getBundle(id)。 – 2012-07-10 14:39:39