maven是一个跨平台的项目管理工具,主要服务基于java平台的项目构建,依赖管理和项目信息管理等.
在使用maven进行模块化项目开发过程中,经常遇到这样的情形:
1.一个类库可能在不同模块中需要引用,即需要在不同模块的pom文件中配置.
2.同类型的类库是同一个版本,即需要重复配置版本号,例如Spring3.x类库,这样配置对以后的升级很不方便.
面对这两种情形,我们可以通过如下标签关联外面的pom文件,并通过${package version}获取外面pom文件中的数据,
即将所有模块的pom文件中的公共配置统一由一个文件进行管理,这个文件就是父pom文件.
4.将cmd窗口切换到pom路径下执行mvn eclipse:myeclipse-clean eclipse:myeclipse指令,
将maven项目转换为web项目,同时下载pom文件中配置的类库,然后引入myeclipse,发现在Referenced Libraies目录下已经包含了spring类库.
在使用maven进行模块化项目开发过程中,经常遇到这样的情形:
1.一个类库可能在不同模块中需要引用,即需要在不同模块的pom文件中配置.
2.同类型的类库是同一个版本,即需要重复配置版本号,例如Spring3.x类库,这样配置对以后的升级很不方便.
面对这两种情形,我们可以通过如下标签关联外面的pom文件,并通过${package version}获取外面pom文件中的数据,
即将所有模块的pom文件中的公共配置统一由一个文件进行管理,这个文件就是父pom文件.
<parent>
<groupId>com.ilucky.maven</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../maven-parent/pom.xml</relativePath>
</parent>
1.创建maven-parent文件夹,并在此文件夹下创建pom文件.
<?xml version="1.0" encoding="UTF-8"?>
<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>com.ilucky.maven</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<spring.version>3.2.3.RELEASE</spring.version>
</properties>
</project>
2.使用Archetype插件生成项目骨架maven-child.
<?xml version="1.0" encoding="UTF-8"?>
<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>com.ilucky.maven</groupId>
<artifactId>maven-child</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>com.ilucky.maven</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../maven-parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
3.修改maven-child pom文件<packaging>标签为war.
4.将cmd窗口切换到pom路径下执行mvn eclipse:myeclipse-clean eclipse:myeclipse指令,
将maven项目转换为web项目,同时下载pom文件中配置的类库,然后引入myeclipse,发现在Referenced Libraies目录下已经包含了spring类库.