2010-10-27 61 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