首先:我的Maven知識有限,請耐心等待。 ;-)我有一個簡單的Maven項目,目前由三個模塊組成。包含應用程序核心的模塊稱爲核心(Creative name,呵?:-)),其他模塊基本上都是該核心模塊的插件。有一個限制:只能將一個插件添加到核心模塊。從Maven項目構建包含多個可選模塊的任意分佈
核心模塊具有自己的Spring IoC配置減去插件配置。這很簡單:核心代碼將讀取一個名爲「plugin」的bean,該bean在覈心配置中沒有定義。插件模塊將發佈他們自己的配置文件,這些文件將提供一個名爲「plugin」的bean,然後由核心代碼使用。這完全符合我的用例。
我想提供管理員,這將部署系統,一種簡單的方法來建立一個包含核心,一個選定的插件和合理的默認配置的分佈。也許tar.gz
或類似的東西。我不希望他通過我的Spring IoC文件進行挖掘,將它們複製在一起等等。像TCP/IP端口這樣的實際配置是在屬性文件中完成的。
爲了闡明我的意思,我構建了一個示例結構。請注意,文件名僅用於解釋目的。
/bin/core.jar [Build from core module] /bin/plugin.jar [Build from a plugin module] /lib-bin/library-required-by-plugin.jar [Dependency resolved by maven + copy] /lib-bin/library-required-by-core.jar [Dependency resolved by maven + copy] /lib-bin/another-library-required-by-core.jar [Dependency resolved by maven + copy] /etc/spring/core-beans.xml [Copied from core module /etc/] /etc/spring/plugin.xml [Copied from plugin module /etc/] /etc/default-core-config.properties [Copied from core module /etc/] /etc/default-plugin-config.properties [Copied from plugin module /etc/]
我目前正在亂七八糟的程序集插件,但我似乎圍繞着圓圈,沒有任何工作。相當令人沮喪。如果你需要更多的信息,或者不明白我的觀點,請隨時提問。 :-)
除了澄清我的問題:如何做到這一點? (嗯,就是這麼簡單:-))正如我之前所說的,我對Maven的知識是有限的,而且目前我無處可去,即使我知道程序集插件可能是要走的路。特別是如何從每個模塊獲取依賴關係,在哪裏配置插件(在父項目中?),甚至是一些程序集描述符都會有所幫助。
謝謝你的所有輸入!
看起來很有希望,我會試試這個。 – Malax 2010-01-06 11:12:17
謝謝您的回答,它至少爲我提供了一個粗略的起點。現在我必須找到一種方法將模塊包含到程序集中......如果有人有這樣的片段:你會受到歡迎! – Malax 2010-01-06 11:32:56
你應該在你的pom中聲明你的模塊是依賴的。 然後用不同的outputDirectory值定義兩個獨立的dependencySet組,即lib和lib-bin。 配置每個依賴集以僅包含您在該特定outputDirectory中需要的罐子。 – crowne 2010-01-06 12:14:55