2013-03-26 48 views
0

我有一個系統接受插件讓用戶添加功能到管理系統。該插件基本上只是一個具有特定格式的zip文件(即該目錄中的文件x,該目錄中的y)。目前我使用maven-assembly-plugin插件來製作zip文件。通過maven插件注入依賴關係

的問題是,它是尷尬讓我的所有插件同步,並讓別人做一個插件,因爲他們需要有正確的assembly.xml

所以我一直試圖做一個定製包裝類型,以便開發者可以讓一個插件這樣的:

<groupId>com.example</groupId> 
<artifactId>example</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>plugin</packaging> //not a standard type 

這主要是工作,但醜陋的東西,現在是每個插件總是依賴於核心系統某些API。因此它們基本上具有相同的依賴關係。

mojo是否可能向mojo的用戶注入依賴關係?這似乎說這是不可能: http://maven.40175.n5.nabble.com/How-to-inject-dependencies-from-a-mojo-td83025.html

+0

你讀過你提到的線程中的答案? – khmarbaise 2013-03-27 07:46:44

+0

@khmarbaise是的,但那是5年以前。誰知道從那以後發生了什麼。 – mlathe 2013-03-27 19:46:31

+1

我遇到了一個非常明顯和簡單的解決方案。我製作了一個包含依賴關係的「pom」項目,並要求開發人員將該pom作爲依賴項。這很好地解決了我的問題,因爲我可以將依賴關係集中在一個地方,並且每個「插件」都可以在需要時可傳遞到核心API依賴關係。十分簡單。 – mlathe 2013-03-27 22:12:58

回答

0

回答評論:

我碰到一個很明顯的和簡單的解決方案來。我製作了一個包含依賴關係的「pom」 項目,並要求開發人員 將該pom作爲依賴關係。這很好地解決了我的問題,因爲我可以將依賴關係集中在一個位置,並且每個「插件」可以通過 傳遞到核心api依賴關係(如果他們想要的話)。易 Peasy。 - - mlathe 13年3月27日在22:12

+1

我正在嘗試做同樣的事情。一個問題:當你說「並要求開發人員將該pom作爲一個依賴項」時,應該將POM作爲依賴項包含在哪裏? (1)在插件的POM中,或(2)在POM中使用插件? – 2016-10-25 01:14:40