2016-01-20 100 views
0

嗨我正在建設我的項目使用MAVEN,我的項目結構是這樣的。建設maven項目導致錯誤

core 
    core-contact 
    address 
    phone 
    core - itinerary 

一塊的每個模塊pom.xml文件的代碼如下

芯:pom.xml的

 <groupId>ginfo.core</groupId> 
     <artifactId>core</artifactId> 
     <name>${productBrand} - Core POM</name> 
     <packaging>pom</packaging> 
     <version>1.1</version> 
     <modules> 
     <module>Contact</module> 
     <module>Itinerary</module> 
     </modules> 

地址:pom.xml的

 <parent> 
      <groupId>ginfo.core</groupId> 
      <artifactId>core-contact</artifactId> 
      <version>1.1</version> 
      <relativePath>../pom.xml</relativePath> 
     </parent> 
      <artifactId>core-address</artifactId> 
      <name>${productBrand} - core-address</name> 
      <packaging>jar</packaging> 

電話:pom.xml的

  <parent> 
      <groupId>ginfo.core</groupId> 
      <artifactId>core-contact</artifactId> 
      <version>1.1</version> 
      <relativePath>../pom.xml</relativePath> 
      </parent> 

     <artifactId>core-phone</artifactId> 
     <name>${productBrand} - core-phone</name> 
     <packaging>jar</packaging> 

核心行程:pom.xml中

<parent> 
     <groupId>ginfo.core</groupId> 
     <artifactId>core</artifactId> 
     <version>1.1</version> 
     <relativePath>../pom.xml</relativePath> 
    </parent> 
    <artifactId>core-itinerary</artifactId> 
    <name>${productBrand} - core-itinerary</name> 
    <packaging>jar</packaging> 

    <description> 
     ${productBrand} - core-itinerary 
    </description> 
    <dependencies> 
     <dependency> 
     <groupId>ginfo.core</groupId> 
     <artifactId>core-contact</artifactId> 
     <version>1.1</version> 
     </dependency> 

核心接觸:pom.xml中

 <parent> 
     <groupId>ginfo.core</groupId> 
     <artifactId>core</artifactId> 
     <version>1.1</version> 
     <relativePath>../pom.xml</relativePath> 
     </parent> 

    <artifactId>core-contact</artifactId> 
    <name>${productBrand} - core-contact</name> 
    <packaging>pom</packaging> 

    <description> 
     ${productBrand} - core-contact 
    </description> 
    <modules> 
     <module>Address</module> 
     <module>Phone</module> 
    </modules> 

當我試圖使用mvn clean install構建核心行程我是ge擬合以下錯誤:

Failed to execute goal on project core-itinerary: could not resolve dependancies for project ginfo.core : core-itinerary: jar 1.1: could not find artifact ginfo.core : core-contact.jar : 1.1 in mvnrepository (http://repo1.maven.org/maven2)

請幫我如何解決這個問題

+0

'address'和'phone'被引用'核心contact'其父 - 在哪裏爲一個POM? –

+0

請使用編輯鏈接並將其添加到您的問題而不是評論。 –

回答

0

答案很簡單,請運行:

mvn clean install 
從頂部父項目

(它是在你的例子中命名爲core)。

錯誤背後的原因:could not resolve dependencies缺少依賴模塊的首先構建/安裝。並提到上述解決方案,將建立&以正確的順序安裝所需的模塊。


編輯:啊我看,
core-contact採用POM包裝(<packaging>pom</packaging>),但裏面core-itinerary/pom.xml你有以下依賴性:

<dependency> 
    <groupId>ginfo.core</groupId> 
    <artifactId>core-contact</artifactId> 
    <version>1.1</version> 
</dependency> 

因爲上面的條目還沒有指定<type>pom</type> ,所以maven認爲它是<type>jar</type>(默認值),這當然不能反映現實。
使它工作,請更改爲:

<dependency> 
    <groupId>ginfo.core</groupId> 
    <artifactId>core-contact</artifactId> 
    <version>1.1</version> 
    <type>pom</type>  <!-- crucial line --> 
</dependency> 
+0

我在「核心」處運行「mvn clean install」,但出現以下錯誤:未能在項目core-itinerary上執行目標:無法解析項目ginfo.core:core-itinerary:jar:1的依賴項。1;無法找到ginfo.core:core-contact:jar:1.1中的http://repo1.maven.org/maven2緩存在本地存儲庫解析中,直到mvnrepository的更新時間間隔已過或更新纔會重新嘗試 –

+0

core-1.1沒有正確安裝..確保它存在於.m2/repository/path_to_your_core_jar/ ...(假設你的maven repo在默認路徑中) – madhairsilence

+1

很好的答案。非常感謝你。添加行 pom工作得很好。掙扎了很多時間來解決這個問題。 –