2013-10-31 91 views
2

一個API依賴我有什麼結構這樣的多模塊Maven項目:如何安裝IMPL模塊在行家

parent 
    | 
    |-presentation 
    |+services 
    | |-services-api 
    | |-services-impl 
    |+data-access 
    | |-data-access-api 
    | |-data-access-impl 
    |-+connector 
    | |-connector-api 
    | |-connector-implA 
    | |-connector-implB 
    |-... 

呈現模塊封裝在一個戰爭,它只是在依賴api模塊。

當我運行安裝目標時,戰爭安裝的唯一依賴是api模塊。要選擇要在展示模塊中安裝IMPL模塊,我使用的配置文件在構建時將依賴項添加到IMPL模塊,具體取決於所選的配置文件。

從我一直在閱讀我不認爲這是maven配置文件的正確用法。

告訴maven向演示模塊中添加一個選定的impl的最佳方式是什麼?

回答

0

我從Maven用戶郵件列表,我認爲是一個解決方案在我的場景中使用maven的正確方法。

我使用impl模塊的運行時依賴關係和每個api實現的一個war項目。使用戰爭覆蓋它合併資源,並使我能夠運行應用程序與正確的模塊實現取決於我運行的戰爭。

0

我具有相同的配置文件的用法,但只適用於特定更改(主要依賴項)。

您不必將所有內容都放入配置文件中。大多數實現依賴是常見的,因此直接聲明沒有配置文件。

根據我使用配置文件來覆蓋性能,添加特定的依賴關係(CommonJ對於WebSphere例如)在目標應用程序服務器上,...

+0

好吧......也許你的用法和我的相似。使用前面提到的結構,配置文件的使用應該位於對連接器有依賴性的模塊中。當profileA處於活動狀態時,會添加implA的依賴關係,當ProfileB處於活動狀態時,會添加implA的依賴關係。 api的依賴始終存在。這是你的用法嗎? – jpedro

+0

那麼你認爲這是一個可接受的配置文件的用法? – jpedro