2017-07-30 101 views
0

我正在嘗試瞭解maven多項目構建如何工作。我現在有一個非常簡單的設置,一個頂級POM,它定義了1個子項目,Web應用程序和一個具有非常基本的POM文件的Web項目。從父級目錄,當我嘗試運行「命令mvn乾淨安裝」我得到以下錯誤:建設時未找到Maven子模塊

​​

這裏是父POM:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 

    <groupId>payroll</groupId> 
    <artifactId>payroll-top</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <packaging>pom</packaging> 

    <modules> 
     <module>payroll-web></module> 
    </modules> 
</project> 

這裏是子項目(Web應用程序)pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <name>payroll-web</name> 

    <parent> 
     <groupId>payroll</groupId> 
     <artifactId>payroll-top</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <relativePath>../pom.xml</relativePath> 
    </parent> 

    <groupId>payroll</groupId> 
    <artifactId>payroll-web</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <packaging>war</packaging> 

    <dependencies> 

    </dependencies> 

    <build> 
     <finalName>payrollwebapp</finalName> 
    </build> 
</project> 

我不知道我錯過了什麼讓項目建立,任何幫助表示讚賞。

回答

1

模塊名稱末尾有一個尾隨「>」。

<module>payroll-web></module> 
+0

奏效,運行到另一個問題:工資單非可解析父POM:薪資網絡:1.0快照:找不到神器工資:工資-top:pom:0.0.1-SNAPSHOT和'parent.relativePath'指向錯誤的本地POM我想它找不到父pom? – user1154644

+0

我認爲你的版本不匹配。 1.0-SNAPSHOT在父POM中,0.0.1-SNAPSHOT在子POM中的父親引用中。 – Matt

0
`<parent> 
    <groupId>payroll</groupId> 
    <artifactId>payroll-top</artifactId> 
    <version>*0.0.1-SNAPSHOT*</version> 
    <relativePath>../pom.xml</relativePath> 
</parent>` 

正確父版本爲1.0