Mvn 远程仓库地址:http://mvnrepository.com/
首先要安装jre与jdk
在eclipse中配置jdk
jdk中也包含jre所以在window-preferences中
找到jdk的安装目录
配置项目
项目右键Build-path -Configure Build Path--Add Library
环境变量
解压Maven
MAVEN_HOME
D:\DRIVE\newInstall\maven\apache-maven-3.3.3
也可以设置为M2_HOME
M2_HOME E:\install\Maven1\apache-maven-3.3.3
设置Path
;%M2_HOME%\bin
验证
mvn -version
pom配置文件
modelVersion:POM 模型版本 4.0.0 固定
groupId:一般指某个公司或者某个组织的某个项目 比如 org.springframework
artifactId:一般指某个具体项目的某个具体模块 比如 spring-context
Version:项目的版本
4.0.0
com.java.HelloWorld
HelloWorld
0.0.1-SNAPSHOT
junit
junit
4.12
Maven 常见命令
Mvn compile 编译Mvn clean 清空Mvn test 测试Mvn package 打包
Mvn install 把项目安装到本地仓库
Maven本地仓库迁出C盘
配置 setting 文件
D:\maven\repository
eclipse中配置setting文件
windows-preferences
找到刚刚设置的setting文件
配置下载jar包源码
Maven生命周期
maven通过插件完成一系列过程完成功能
Maven有三套独立的生命周期
clean 清理项目Default 构建项目 Site 建立站点
Clean生命周期
pre-clean 执行一些清理前需要完成的工作
clean 清理上一次构建生成的文件
post-clean 执行一些清理后需要完成的工作
Maven引入本地其他项目
首先把要依赖的项目发布到本地仓库 Maven-install
Maven项目的创建
user-dao项目
test只在编译时候有效
4.0.0
com.java.user
user-dao
0.0.1-SNAPSHOT
jar
UTF-8
org.mybatis
mybatis
3.3.0
mysql
mysql-connector-java
5.1.36
log4j
log4j
1.2.17
junit
junit
4.12
test
user-service项目
4.0.0
com.java.user
user-service
0.0.1-SNAPSHOT
jar
UTF-8
org.springframework
spring-core
4.1.7.RELEASE
org.springframework
spring-beans
4.1.7.RELEASE
org.springframework
spring-tx
4.1.7.RELEASE
org.springframework
spring-context
4.1.7.RELEASE
org.springframework
spring-context-support
4.1.7.RELEASE
org.springframework
spring-web
4.1.7.RELEASE
org.springframework
spring-webmvc
4.1.7.RELEASE
org.springframework
spring-aop
4.1.7.RELEASE
org.springframework
spring-aspects
4.1.7.RELEASE
org.springframework
spring-jdbc
4.1.7.RELEASE
org.mybatis
mybatis-spring
1.2.3
junit
junit
4.12
test
com.java.user
user-dao
0.0.1-SNAPSHOT
web项目
4.0.0
com.java.user
user-web
war
0.0.1-SNAPSHOT
javax.servlet
javax.servlet-api
3.1.0
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
javax.servlet
jstl
1.2
org.springframework
spring-core
4.1.7.RELEASE
org.springframework
spring-beans
4.1.7.RELEASE
org.springframework
spring-tx
4.1.7.RELEASE
org.springframework
spring-context
4.1.7.RELEASE
org.springframework
spring-context-support
4.1.7.RELEASE
org.springframework
spring-web
4.1.7.RELEASE
org.springframework
spring-webmvc
4.1.7.RELEASE
com.java.user
user-service
0.0.1-SNAPSHOT
junit
junit
4.12
test
user-web
dao与service合并在一起统一管理
user-aggregator项目
聚合,引入多个模块../user-dao,同级,统一管理
4.0.0
com.java.user
user-aggregator
0.0.1-SNAPSHOT
pom
../user-dao
../user-service
Maven依赖的传递性
传递性依赖
假如spring-core依赖commons-logging
user-service 依赖 Spring-core
那么user-service也依赖commons-logging
依赖的范围
scope test只在测试的时候有用 如junit
Compile 编译范围依赖 在编译,测试,运行都有效
Provided 已提供的依赖范围,编译,测试有效,运行时无效 如servlet-api。解决不同服务器jar包冲突文件
system 系统依赖范围,使用system范围依赖,必须通过systemPath依赖文件路径
Import 导入依赖范围
junit
junit
test
Maven继承
有很多的元素,版本信息统一管理
子类继承标签,寻找父pom的相对路径,parent继承父类的节点
user-parent项目,父类 dependencyManagement 依赖管理,统一进行管理
4.0.0
com.java.user
user-parent
0.0.1-SNAPSHOT
pom
../user-dao
../user-service
4.1.7.RELEASE
4.12
1.2.17
org.mybatis
mybatis
3.3.0
mysql
mysql-connector-java
5.1.36
log4j
log4j
${log4j.version}
junit
junit
${junit.version}
test
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
4.1.7.RELEASE
org.mybatis
mybatis-spring
1.2.3
javax.servlet
javax.servlet-api
3.1.0
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
javax.servlet
jstl
1.2
user-dao项目
4.0.0
com.java.user
user-parent
0.0.1-SNAPSHOT
../user-parent/pom.xml
user-dao
jar
UTF-8
org.mybatis
mybatis
mysql
mysql-connector-java
log4j
log4j
junit
junit
test
user-service项目
4.0.0
com.java.user
user-parent
0.0.1-SNAPSHOT
../user-parent/pom.xml
user-service
jar
UTF-8
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
org.mybatis
mybatis-spring
junit
junit
test
com.java1234.user
user-dao
0.0.1-SNAPSHOT
web项目
4.0.0
com.java.user
user-parent
0.0.1-SNAPSHOT
../user-parent/pom.xml
user-web
war
javax.servlet
javax.servlet-api
javax.servlet.jsp
javax.servlet.jsp-api
javax.servlet
jstl
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
com.java.user
user-service
0.0.1-SNAPSHOT
junit
junit
test
user-web