用于更新类路径的Eclipse扩展点

时间:2010-10-27 23:12:10

标签: eclipse eclipse-plugin m2eclipse eclipse-jdt

问题

给定一个我已编写为插件/扩展的Classpath容器,如何自动将其添加到类路径?

背景

好的,所以我是一位经验丰富的Java开发人员,但对编写Eclipse插件极其陌生。我一直在谷歌搜索,按照教程和阅读其他插件的源代码几天。我确切地知道我想要做什么,但不知道该怎么做。

现在,在Eclipse中,当我单击一个资源并选择“Run as JUnit test”时,如下所示:

<小时/> for some reason, my pics don't work anymore. I'll fix this soon...


在幕后,m2eclipse插件以某种方式生成包含“Maven Dependencies”类路径容器的运行配置,如下所示:

alt text

我最好的猜测是,通过M2Eclipse插件使用的某个扩展点添加了“Maven Dependencies”类路径容器。同样,我想在用户运行JUnit测试时自动添加我的类路径容器 - 因此它显示在“用户条目”下。我可以使用哪些扩展点来制作类似的东西?我一直在看 org.eclipse.jdt.core.classpathContainerInitializer ,但我不确定这会做我需要的。

<小时/> 理想结果

理想情况下,我想编写一个插件,它接受项目构建路径中的每个条目,并将其添加到运行配置的类路径中(每当通过以下方式创建新的启动配置时: Run As&gt; JUnit测试)。这应该是Eclipse的默认行为,但事实并非如此!

我的下一个最佳解决方案是自动将我的自定义类路径容器添加到运行配置的构建路径中。在一天结束时,我只想为我们团队运行/启动的任何Java代码提供一个类路径。这不应该那么难!

任何有关如何实现这一目标的建议将不胜感激!甚至是关于在哪里了解如何使用特定扩展点的基本指针(基本的JavaDocs API非常糟糕)。谢谢,

  • gMale

2 个答案:

答案 0 :(得分:1)

Roostergx提供了部分答案(即如何创建类路径容器)。第二部分,如您所承认的,是如何自动添加它。

我建议使用名为org.eclipse.ui.startup的扩展点。这允许您在Eclipse启动时尽早贡献运行(几乎)的代码。在每次启动时,您都可以遍历所有项目,并查看是否有任何现有项目需要您创建的类路径容器。

答案 1 :(得分:0)

http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-classpath/index.html上的文章提供了一个优秀的描述和插件源,它定义了一个项目特定的类路径容器,其中包含指定目录中的所有jar文件。