2010-10-27 63 views
2

问题Eclipse的扩展点更新类路径

给定一个类路径容器我已经写了一个插件/扩展程序,如何将其添加到类路径,自动?

背景

好了,所以我是一个有经验的Java开发者,但非常新编写Eclipse插件。我一直在使用Google,遵循教程和阅读其他插件的源代码几天。我确切知道我想要做什么,但不知道如何去做。

眼下,在Eclipse,当我点击的资源,并选择 “运行方式JUnit测试”,如:


for some reason, my pics don't work anymore. I'll fix this soon...


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

alt text

我最好的猜测是,“Maven依赖”类路径容器是通过一些扩展点添加正在使用m2eclipse插件。同样,我想在用户运行JUnit测试时自动添加我的类路径容器,因此它显示在“用户条目”下。我可以使用什么样的扩展点来实现这样的事情?我一直在寻找org.eclipse.jdt.core.classpathContainerInitializer但我不知道会做什么,我需要。


理想的结果

理想情况下,我想编写一个插件,需要在项目的构建路径中的每个条目,并将其添加到运行配置(只要是通过创建一个新的启动配置的类路径: 运行方式> JUnit测试)。这应该是Eclipse的默认行为,但它不是!

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

任何建议如何实现这一点将不胜感激!即使是基本的指针,可以了解如何使用特定的扩展点(基本的JavaDocs API非常糟糕)。谢谢,

  • gMale
+0

您可以使用Alt + Shift + F1打开Plug-in Spy并获取有关M2Eclipse插件的详细信息,然后查看源代码。 – porcoesphino 2014-03-26 02:11:35

回答

1

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

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

+0

谢谢。这更符合我所寻找的内容。在运行配置执行之前,必须有一些其他扩展点用于提供代码。在一天结束时,我只需要一个类路径容器,它将1)将Lib目录中的所有jar添加到构建路径2)默认情况下包含在所有运行配置中。这应该默认构建到Eclipse中! – gMale 2011-04-12 13:53:01

+0

不,没有延伸点来做你的建议。最接近的做法是创建自己的启动配置。它可以是JUnit启动的直接子类/副本,但它也会添加额外的库。 – 2011-04-12 15:58:21

+0

几个星期前,我终于通过将jar放在path/to/project/WebContent/WEB-INF/libs下解决了根本问题。由于该目录中的jars自动包含在所有运行配置中的* Web Apps Libraries * classpath容器中,因此完美运行。我会接受这个,因为你的答案与上面解决我的问题最接近(也就是说,我认为它实际上可行)。 – gMale 2011-04-21 00:47:47

0

http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-classpath/index.html本文提供了用于定义一个项目特定的类路径容器,其包括在指定的目录中的所有JAR文件的一个插件的方位的说明和来源。

+0

感谢您的链接。我在一段时间内没有看到这个问题......创建容器是可行的......但不必手动**将它添加到运行配置(即,只要有人点击就自动包含)*运行为> JUnit测试*)是最难的部分。 * Maven Dependencies *容器的工作方式......所以它一定是可能的,对吧? – gMale 2011-01-14 16:40:41