2012-05-22 193 views
0

我有maven項目Main和項目Util。GWT Maven依賴關係

項目Util取決於取決於gwt-dev的第三方庫Lib。 gwt-dev引發了很多衝突,只需要GWT編譯,所以它應該被標記爲「提供」,但它是「編譯」的。

所以我應該把Lib標記爲Util中的「provided」。但如果我這樣做,我的主項目將無法編譯,因爲它無法找到Lib類。

目前我將Lib標記爲「provided」,然後將它包含在Main中的「provided」中。這很不方便,因爲我必須記住Util依賴關係。

我該如何解決這個問題?

回答

1

compile範圍和exclude GWT-dev的使用Lib

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>Lib group</groupId> 
     <artifactId>Lib artifact id</artifactId> 
     <version>Lib version</version> 
     <scope>compile</scope> 
     <exclusions> 
     <exclusion> <!-- declare the exclusion here --> 
      <groupId>com.google.gwt</groupId> 
      <artifactId>gwt-dev</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    </dependencies> 
</project> 

只是一句話,但不包括通常是不好的做法。在這種情況下,你沒有多少選擇,因爲Lib的神器應該有gwt-dev作爲provided(它的Lib的bug ...)。所以,不要忘記添加一個體面的評論,解釋排除。