2012-03-22 241 views
1

我有類似雞蛋和雞的問題。我有兩個兄弟兒童模組。異常處理包位於MDP模塊中。 MDP模塊還會查找Transformer模塊的參考。Maven:兄弟姐妹繼承

<dependency> 
    <groupId>dcconverter</groupId> 
    <artifactId>transformer</artifactId> 
    <version>${converter-shell}</version> 
    <type>jar</type> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>dcconverter</groupId> 
    <artifactId>validate</artifactId> 
    <version>${converter-shell}</version> 
    <type>jar</type> 
    <scope>compile</scope> 
</dependency> 

因此,爲了構建MDP模塊,必須先構建變壓器,因爲它是一個依賴項。我希望在Transformer模塊中實現ExceptionHandling。除非我將MDP模塊聲明爲依賴項,否則它不能訪問MDP類。這裏存在蛋和雞的問題。

現在,我可以將異常處理移動到Validate模塊中,該模塊沒有解決問題的同級依賴關係。不過,我仍然需要列出所有依賴Validate的兄弟。這是好的做法嗎?或者有沒有辦法繞過這些相互依賴的兄弟姐妹?

回答

2

保持簡單!確保每件神器都有明確的職責和接口。爲什麼不爲創建異常處理功能創建一個單獨的模塊?然後,您可以將其包含在需要此功能的任何其他模塊中。

如果遇到像您目前看到的問題,通常意味着您的依賴關係太複雜。儘可能地分解它。與增加的靈活性和可重用性相比,添加另一個模塊的開銷應該相當低。