2013-01-03 195 views
14

我已經導入maven multimodule項目,並且一些傳遞依賴關係未解析。這個相同的項目建立在Jenkins/Eclipse/Console中。IntelliJ 12 - maven multimodule無法解決傳遞依賴關係

我已經嘗試兩個分別導入每個項目,並且還導入只有父pom - 都不工作。

我有以下結構:Project AProject B有共同的父項,並且都在此父項中定義爲模塊。 Project A包含作爲依賴jackon-jar,Project B沒有它。 Project A默認範圍內包含jackson-jar - 在編譯和測試運行期間,jar是可見的。現在Project B進口Project A並且還使用傑克遜jar - 這裏是問題 - 傑克遜jar在Project B中不可見:(當我明確指定Project B所有工作正常,但它應該自動作爲傳遞依賴從Project A .. ....

這是常見的問題有沒有解決辦法

這裏是POM例子:??

家長:

<project ....> 
    <modelVersion>4.0.0</modelVersion> 

    <version>1.0-SNAPSHOT</version> 
    <groupId>miklas.test</groupId> 
    <artifactId>my-parent</artifactId> 
    <packaging>pom</packaging> 

    <modules> 
     <module>my-project-a</module> 
     <module>my-project-b</module> 
     <module>my-project-c</module> 
    </modules> 
</project> 

幻燈CT-A

<project ....> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>miklas.test</groupId> 
     <artifactId>my-parent</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 

    <artifactId>my-project-a</artifactId> 
    <packaging>jar</packaging> 

    <dependencies> 
     <dependency> 
      <groupId>org.jboss.resteasy</groupId> 
      <artifactId>resteasy-jackson-provider</artifactId> 
      <version>2.3.4.Final</version> 
     </dependency> 
    </dependencies> 

</project> 

項目-B

<project > 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>miklas.test</groupId> 
     <artifactId>my-parent</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 

    <artifactId>my-project-b</artifactId> 
    <packaging>jar</packaging> 

    <dependencies> 
     <dependency> 
      <groupId>miklas.test</groupId> 
      <artifactId>my-project-a</artifactId> 
      <version>${project.version}</version> 
     </dependency> 
    </dependencies> 

</project> 

下面也從我的實際項目中的截圖 - 這將是從上面簡單例子Project B。在左側,我們可以看到,resteasy-jackoson-provider有4個獨立的罐子,右側只有兩個。這兩種觀點都出現在同一個項目:

enter image description here

現在從Project A

enter image description here

+0

+1詳細和明確的問題 – Anonymoose

+0

另請參閱http://stackoverflow.com/a/11467266/32453(提示沒有禁用「通過maven3導入」的幫助?) – rogerdpack

回答

8

這似乎是的IntelliJ 12中的錯誤相同截圖中看到http://youtrack.jetbrains.com/issue/IDEA-98425並請投票支持問題如果這對你很重要。

+2

這是嚴重的問題,防止我使用intellij in一般 - 他們應該儘快修復這些東西,沒有任何投票......但是我會投票;) –

1

對我和其他人都有效的http://youtrack.jetbrains.com/issue/IDEA-98425提到的解決方法是轉到「設置 - Maven - 多項目構建失敗策略」。將其設置爲「失敗結束」。

+2

在我的情況下(和其他一些人)它沒有幫助 –

+0

我以後再次失敗:(經過一段時間的「巫術「切換」使用maven 3進行導入「,」Maven項目工具窗口 - 重新導入所有maven項目「,」命令行mvn install「,重新開啓項目,同步項目的做法(不確定有用部分是什麼)項目,「設置 - maven - 資源庫 - 選擇本地 - 更新」,使緩存失效,「重建項目」它隨機再次運行。 –

+0

是的....我試過類似的方法。一段時間後,我的項目能夠編譯,我無法再打破它......即使通過刪除強制性依賴關係......真是一個廢話...... –