2016-09-14 54 views
1

很抱歉,如果這個問題很簡單,我嘗試了很多,但無法找到解決方案。如何從pom中排除依賴戰爭中的jar只用於在pom中運行測試

我有一個項目項目A.在這個戰爭項目的pom.xml中,我有一個依賴項目,我在pom.xml中添加了依賴項目。直到現在一切都很好。

這我是如何做到這一點父項目A項目的pom.xml:

<dependency> 
     <groupId>com.abc.rules</groupId> 
     <artifactId>rules-common</artifactId> 
     <version>0.0.2-SNAPSHOT</version> 
    </dependency> 

Funtionality運行建立

後工作正常,但是當我試圖運行父項目A項目測試用例,它不工作。

然後我在pom.xml中嘗試這樣做,它的工作:

 <dependency> 
      <groupId>com.abc.rules</groupId> 
      <artifactId>rules-common</artifactId> 
      <version>0.0.2-SNAPSHOT</version> 
      -<exclusions> 
      -<exclusion> <groupId>org.sonatype.sisu</groupId> 
          <artifactId>sisu-guava</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

但是我有可能會影響我的funtionality。

所以我需要的是,我需要排除sisu-guava.jar運行我的父項目項目A的測試用例。但它不應該被排除在上面。

而且我不能對rules-common戰爭項目的pom.xml進行任何更改。如何在項目A的pom.xml中做相關的更改?

有人請幫助我。

+0

你遇到什麼樣的問題的依賴?換句話說,你的意思是「它不工作」? –

+0

我得到像版本解析器的反射類問題無法轉換爲默認版本解析器。所以在運行junit測試時會發生衝突。 –

回答

0

嘗試添加該在你的POM

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <dependencies> 
      <dependency> 
      <groupId>com.abc.rules</groupId> 
      <artifactId>rules-common</artifactId> 
      <exclusions> 
       <exclusion> 
       <groupId>org.sonatype.sisu</groupId> 
       <artifactId>sisu-guava</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     </dependencies> 
    </plugin> 
    </plugins> 
</build> 

或者你將不得不使用配置文件排除在某些情況下

+0

它沒有工作。仍然面臨相同的問題 –

+0

然後使用配置文件在測試期間排除傳遞依賴 – Phox