首先创建一个基本的项目nickboyer-base(基础),用来管理整个项目的依赖。
在这个页面选择maven-Archetype-site-simple。
这个时候nickboyer-base项目的pom.xml为:
<modelVersion>4.0.0</modelVersion>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-base</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<site>
<id>website</id>
<url>scp://webhost.company.com/www/website</url>
</site>
</distributionManagement>
接下来就是创建子项目nickboyer-util(工具),选中base工程,右键新建:选择maven module -> maven-archetype-quickstart
这时候nickboyer-util子项目的pom.xml文件为:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-util</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nickboyer-util</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
再就是创建子项目nickboyer-core(核心:主要是service层和dao层),
选中base工程,右键新建:选择maven module -> maven-archetype-quickstart。具体同nickboyer-util工程一样。
然后创建子项目nickboyer-backstage(后台管理),选中base工程,右键新建:选择maven module -> maven-archetype-webapp。
这时候nickboyer-backstage项目的pom.xml文件为:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-backstage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>nickboyer-backstage Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
最后总结下:
1.在普通的项目上是不能创建子项目的,必须有<packaging>pom</packaging>配置的项目才能作为父项目。
2.之后nickboyer-core和nickboyer-backstage项目需要引用其他项目的时候只需要添加其他项目的依赖就行。
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-backstage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>nickboyer-backstage Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 引用其他项目模块 -->
<dependency>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.nickboyer</groupId>
<artifactId>nickboyer-util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>nickboyer-backstage</finalName>
</build>
</project>