多个maven项目实现统一管理, maven 插件jar继承自父的maven项目。对maven中jar的版本进行管理。
1、创建一个项目来管理多个maven项目
new ----maven Project
勾选 Create a simple project(skip archetype selection)
next :填写项目信息, packaging 选 pom 。
创建完成后项目目录结构如下:
编辑 pom.xml配置文件
1、maven 聚合: 统一管理多个maven模块项目,统一执行编译 ,清理,安装
需要配置: <modules> </modules> 来管理多个maven项目, (配置完成后,直接点击 此项目的pom.xml 文件右键运行,即可使管理的多个maven项目同时maven install、maven clean 简化了操作)
../dao ../service
2、dao 、service 、controller 项目中 引入的maven jar 统一配置到 extendsagg项目中, 再 dao 、servcie 、controller 中 配置 <parent></parent> 可简化自身项目的pom.xml配置,引入jar的版本也可以统一继承自父项目。
com.inspur.smvc extendsagg 0.0.1-SNAPSHOT ../extendsagg/pom.xml controller war org.springframework spring-core
3、maven 父项目 extendsagg 项目中pom.xml 中 jar 信息 的版本号 进行统一设置。
4.1.7.RELEASE 1.2.17 4.12 log4j log4j ${log4j.version} org.springframework spring-core ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-tx ${spring.version}
controller maven模块的pom.xml
4.0.0 com.inspur.smvc extendsagg 0.0.1-SNAPSHOT ../extendsagg/pom.xml controller war com.inspur.smvc service 0.0.1-SNAPSHOT javax.servlet.jsp.jstl jstl javax.servlet.jsp javax.servlet.jsp-api provided javax.servlet javax.servlet-api provided org.springframework spring-core org.springframework spring-beans org.springframework spring-tx org.springframework spring-context org.springframework spring-context-support org.springframework spring-web org.springframework spring-webmvc junit junit test controller
dao maven模块的pom.xml
4.0.0 com.inspur.smvc extendsagg 0.0.1-SNAPSHOT ../extendsagg/pom.xml dao jar UTF-8 log4j log4j com.oracle ojdbc6 11.2.0 org.mybatis mybatis junit junit test
service maven 模块的pom.xml
4.0.0 com.inspur.smvc extendsagg 0.0.1-SNAPSHOT ../extendsagg/pom.xml service jar UTF-8 com.inspur.smvc dao 0.0.1-SNAPSHOT org.mybatis mybatis-spring org.springframework spring-core org.springframework spring-beans org.springframework spring-tx org.springframework spring-context org.springframework spring-context-support org.springframework spring-web org.springframework spring-webmvc org.springframework spring-aop org.springframework spring-aspects org.springframework spring-jdbc junit junit test
extendsagg maven 父项目统一管理 pom.xml
4.0.0 com.inspur.smvc extendsagg 0.0.1-SNAPSHOT pom ../dao ../service 4.1.7.RELEASE 1.2.17 4.12 log4j log4j ${log4j.version} com.oracle ojdbc6 11.2.0 org.mybatis mybatis 3.4.6 junit junit ${junit.version} test org.mybatis mybatis-spring 1.3.2 org.springframework spring-core ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-context-support ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-aop ${spring.version} org.springframework spring-aspects ${spring.version} org.springframework spring-jdbc ${spring.version} javax.servlet.jsp.jstl jstl 1.2 javax.servlet.jsp javax.servlet.jsp-api 2.3.1 provided javax.servlet javax.servlet-api 4.0.1 provided
pom.xml中
scope 选项 :
Compile(默认) 编译 依赖范围 :编译、测试、运行都有效;
Test 测试 依赖范围 :仅测试有效;例如 JUnit;
Provided 已提供 依赖范围 : 编译,测试有效,运行时无效。例如 servlet-api。
System 系统 依赖范围 : 使用system范围的依赖必须通过systemPath 指定依赖文件的路径。
Import 导入 依赖范围 : 使用dependencyManagement时候,可以导入依赖配置。