我是maven的初学者。简单地说,我在Web项目中有三个模块:父模块,Web模块和服务模块。
parent-module
+----web-module
| +----pom.xml
+----service-module
| +----pom.xml
+----pom.xml
通常,parent-module.pom.xml可能是这样的:
<modules>
<module>../web-module</module>
<module>../service-module</module>
</modules>
如果服务模块在svn中,我怎么能配置parent-module.pom.xml,我还没有检查出来。
答案 0 :(得分:0)
你的结构错了。更改文件夹结构可以让您的生活更轻松。
+-- parent-module (pom.xml)
+--- web-module (pom.xml)
+--- service-module (pom.xml)
最好将上述结构放入SVN进入trunk。这意味着您可以签出项目的主干,并在工作副本中获得上述结构。 结果是:
svn checkout URL/project/trunk workingcopy
将在workgincopy
文件夹中创建以下内容:
+-- (pom.xml)
+--- web-module (pom.xml)
+--- service-module (pom.xml)
基于以上所述,您的父模块将如下所示:
<project>
<groupId>whatEver</groupId>
<artifactId>project-parent</artifactId>
<version>1.0-SNAPSHOT</version>
...
<modules>
<module>web-module</module>
<module>service-module</module>
</modules>
</project>
现在您的孩子(网络模块)看起来像这样:
<project>
<parent>
<groupId>whatEver</groupId>
<artifactId>project-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>web-module</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>whatEver</groupId>
<artifactId>service-module</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
...
</project>
最后,您的服务模块如下所示:
<project>
<parent>
<groupId>whatEver</groupId>
<artifactId>project-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-module</artifactId>
...
</project>
因此,在Maven中,您可以更改为项目的根目录(工作副本),并通过以下方式构建整个项目:
mvn clean package