项目管理中的maven (2)
来源:互联网 发布:淘宝淘部落是什么 编辑:程序博客网 时间:2024/05/18 01:32
1 用maven进行多项目的管理
多项目管理是maven的主要特色之一,对于一个大型工程,用maven来管理他们之间复杂的依赖关系,是再好不过了。maven的项目配置之间的关系有两种:继承关系和引用关系。
maven默认根据目录结构来设定pom的继承关系,即下级目录的pom默认继承上级目录的pom。要设定两者之间的关系很简单,上级pom如下设置:
<modules>
<module>ABCCommon</module>
<module>ABCCore</module>
<module>ABCTools</module>
</modules>
要记住的是,这里的module是目录名,不是子工程的artifactId。子工程如下设置:
<parent>
<groupId>com.abc.product1</groupId>
<artifactId>abc-product1</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>abc-my-module2</artifactId>
<packaging>jar</packaging>
这样两者就相互关联起来了,继承关系就设定完毕,所有父工程的配置内容都会自动在子工程中生效,除非子工程有相同的配置覆盖。如果你不喜欢层层递进的目录结构来实现继承,也可以在parent中加入<relativePath>../a-parent/pom.xml</relativePath> 来制定parent项目的相对目录。继承关系通常用在项目共同特性的抽取上,通过抽取公共特性,可以大幅度减少子项目的配置工作量。
在项目中我们使用一个主项目进行管理,在其中配置pom.xml用于引入相关的jar包等的,可以说是一些公共的,可以用于多个项目的关联,网上看到说是一种引用的方式。下面说下:
mvnproj:主项目中的pom.xml中需要进行配置
<?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.efn</groupId>
<artifactId>mvnproj2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <!-- pom方式-->
<name>mvnproj2</name>
<url>http://maven.apache.org</url>
<!-- =============================dependencies================================== -->
<dependencies>
<!-- junit的包导入 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- jdbc的依赖关�?-->
<dependency>
<groupId>jdbc</groupId>
<artifactId>jdbc</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j-version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<log4j-version>1.2.13</log4j-version>
</properties>
<!--项目应的子项目-->
<modules><module>mvnproj2_kernel</module>
<module>mvnproj2_web</module>
</modules>
</project>
mvnproj2_kernel:pom.xml:
..........................
<parent>
<artifactId>mvnproj2</artifactId>
<groupId>com.efn</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
..............................
mvnproj2_web:
<parent>
<artifactId>mvnproj2</artifactId>
<groupId>com.efn</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<!-- 依赖kernel工程 -->
<dependency>
<groupId>com.efn</groupId>
<artifactId>mvnproj2_kernel</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
如上的就已经配置好了相应的应用,继承关系。当然我们在eclipse中打开pom.xml文件选择Overview视图可以直接在上面进行操作,例如在Mudules中选择增加的图标进行子项目的添加建立操作,在该过程中我们可以选择进行普通java的mvn项目的建立或者是web java的建立等,都可以进行选择。
选择好后就会生成相应的项目,当然相应的pom.xml文件都会生成好,主项目中的引用都会在子项目中体现。
- 项目管理中的maven (2)
- 项目中的管理maven(1)
- Maven项目中的jar管理
- Maven 在项目管理中的优势
- 使用Maven管理Java项目中的依赖
- maven管理的项目配置找不到jar包中的类
- 项目管理利器maven入门笔记(2)
- Maven-项目管理
- maven管理java项目
- MAVEN 项目管理
- maven管理eclipse项目
- 使用Maven管理项目
- maven 项目依赖管理
- Maven 项目管理 序
- maven项目管理
- maven管理项目
- Maven管理Android项目
- maven项目管理
- hdu1599 Floyd求最大环 最小环
- 用虚拟硬盘.vmdk来装虚拟机
- aptana studio 乱码 问题 即编码 ISO-8859-1 与 UTF-8
- java实现单例 singleton
- 安装安卓APK文件到安卓模拟器之一
- 项目管理中的maven (2)
- 接触vim
- 存储过程
- 我的迷你博客
- StringBuilder和String
- 常常遇到VC下面断点失效的问题,终于找到比较简单靠谱的解决方法了!
- 黑马程序员:集合框架List
- 安装安卓APK文件到安卓模拟器之二
- 手机充电器