2014-09-24 94 views
8

我是Maven的新手。我從SVN從客戶簽出了一個項目的結構如下:Maven子模塊不存在

projectName 
|--> pom.xml 
|--> jetty-wrapper 
    |--> pom.xml 
    |--> bin 
      |--> pom.xml 
|--> projectName-common 
    |--> pom.xml 
    |--> bin 
      |--> pom.xml 
|--> projectName-war 
    |--> bin 
      |--> pom.xml 

pom.xml中右下方「projectName`(頂部的POM)正在建設的三個模塊

<modules> 
    <module>projectName-common</module> 
    <module>projectName-war</module> 
    <module>jetty-wrapper</module> 
</modules> 

但是從文件夾projectName執行mvn clean install時,它提供了以下錯誤

Child module [...]projectName\projectName-war\pom.xml of [...]projectName\pom.xml does not exist 

的問題是:如果有一個pom.xml下方projectName-war就像我的客戶可能忘記提交給SVN的其餘模塊一樣?

謝謝!

回答

4

的問題是:如果有正下方PROJECTNAME戰一個pom.xml

簡而言之

您已經想通了的把戲,因爲你沒有提供一個項目描述符又名的pom.xml到Maven,它將無法調用PROJECTNAME戰爭有效的子單元。

必須有絕對算是下PROJECTNAME戰爭一個的pom.xml文件,它必須有相匹配的父母下宣告模塊之一的工件ID,即

<artifactId>projectName-war</artifactId> 
13
Child module [...]projectName\projectName-war\pom.xml of [...]projectName\pom.xml does not exist 

如果你從命令行使用mvn install時遇到上述錯誤(同樣的pom可能會在eclipse中工作),你必須改變你的pom.xml中的一點點

而不是如下所示:

<modules> 
     <module>../my-util</module> 
     <module>../my-server</module>   
</modules> 

按照下面的(在廓封裝):

<profiles> 
    <profile> 
     <modules> 
      <module>../my-util</module> 
      <module>../my-server</module>   
     </modules> 
    </profile> 
</profiles> 
+0

這是固定我的問題。浪費了一個多小時看着其他地方。另外,它會很高興有一個解釋。 – Sid 2016-07-13 15:25:30