2014-09-03 20 views
0

目前,我正在開發一個Maven插件,該插件應該在具有特定Eclipse項目性質的所有項目(OSGi包)中生成文件。獲取Maven構建中所有項目的內容和性質

如何使用Maven API訪問構建中包含的項目內容和項目特性?

+0

你有沒有簽出[Tycho](http://www.eclipse.org/tycho/)? – user944849 2014-09-03 12:50:29

回答

0

Maven是一個獨立的構建工具,而不是Eclipse插件。您無法從核心Maven API訪問Eclipse項目設置。

Eclipse支持Maven和M2E Eclipse插件。可以編寫M2E extensions,在擴展中可以通過AbstractProjectConfigurator類的功能查詢項目性質。

但是,當您在命令行中編譯代碼時,M2E擴展將無法運行。我建議你選擇以下其中一種:

  • 編寫一個Eclipse插件,它可以將源代碼生成到maven項目的src文件夾中。代碼生成應該由用戶手動啓動(在項目中選擇一個上下文菜單或其他東西)。
  • 避免使用Eclipse項目特性,並在分析項目源代碼和解決問題的基礎上解決您的問題。
+0

如何訪問構建的所有項目的源代碼? – user1056903 2014-09-03 12:23:41

+0

通過簡單地寫一個簡單的M2E的優點,我不認爲你可以。你必須爲此寫一個Eclipse插件。你確定你不能檢查其他項目的性質嗎?編寫一個基於插件配置生成代碼的Maven插件怎麼樣? – 2014-09-03 12:32:38

+0

我可以選擇檢查必須位於項目根目錄中的文件。如果此文件存在,則應在項目中生成文件。在構建期間沒有辦法訪問項目的內容嗎? – user1056903 2014-09-03 13:26:59

0

如果您需要對源代碼中的某些方面作出反應,就像從Balazs的線程中看到的一樣,那麼您可以簡單地編寫一個普通的maven插件並將其包含在父pom中。然後它將運行在每個項目中,並可以分析代碼並根據它做出反應。