我是Maven的新手。我从SVN签出了具有以下结构的客户项目:
projectName |--> pom.xml |--> jetty-wrapper |--> pom.xml |--> bin |--> pom.xml |--> projectName-common |--> pom.xml |--> bin |--> pom.xml |--> projectName-war |--> bin |--> pom.xml
“ projectName”下方的pom.xml(顶部的pom)正在构建三个模块
<modules> <module>projectName-common</module> <module>projectName-war</module> <module>jetty-wrapper</module> </modules>
但是mvn clean install从文件夹执行projectName时会出现以下错误
mvn clean install
projectName
Child module [...]projectName\projectName-war\pom.xml of [...]projectName\pom.xml does not exist
问题是:projectName-war就像我的客户可能忘记使用SVN的其余模块一样,下面是否应该有pom.xml ?
projectName-war
问题是:是否应该在projectName-war下面有pom.xml
简单地说 是 。
您已经找到了窍门,并且由于尚未向maven 提供项目描述符aka pom.xml ,因此无法将 projectName-war 称为有效的子模块。
在 projectName-war 下必须绝对有一个 pom.xml 文件,并且它必须具有与声明模块的父项下的工件ID相匹配的工件ID,即 __
<artifactId>projectName-war</artifactId>