2012-06-24 23 views
2

我有一個打包爲.war文件的應用程序。它有GWT代碼和一組網絡服務。Maven JAR模塊取決於WAR中的類

我想網絡服務代碼移到一個單獨的jar文件,因此應用程序可以建立一個沒有他們。

服務依賴於當前正在打包成.war文件的代碼,所以在pom.xml中的jar文件我指定以下依賴性:

<dependency> 
    <groupId>my.group</groupId> 
    <artifactId>my-war</artifactId> 
    <version>1.0.4</version> 
</dependency> 

但打包的.war存檔我也需要指定一個依賴的罐子,就像這樣:

<dependency> 
    <groupId>my.group</groupId> 
    <artifactId>my-services-jar</artifactId> 
    <version>1.0.4</version> 
    <scope>test</scope> 
</dependency> 

導致循環依賴。

如何解決這個問題?或者,也許我應該採取不同的方法? 謝謝。

回答

7

組件化多一點 - 介紹說,核心罐子我的戰爭,我的服務,罐子,然後你的依賴結構之間共同的依賴不會有循環依賴。

my-war 
    - core-jar 
my-services-jar 
    - core-jar 
+0

不錯的方法,但我想避免它,因爲在戰爭文件中緊密耦合的代碼。但是,如果沒有其他方法,我會遵循這一點 – Andrew

+0

這是正確的方法。如果你真的不能,因爲遺留問題,試着用maven-dependency-plugin來過濾......但這真是一個糟糕的解決方案。 Biju的答案+1 –

相關問題