MAVEN详解

**************************Maven*********************************
一、maven(项目管理与构建工具)
1.使用需求
- 企业需求
- 软件开发中遇到的问题
a. jar包的依赖与管理
解决jar包的完全正确性,不同技术框架版本的管理,jar包依赖
struts-core 2.3.16  依赖于 xwork
b. 自动构建项目
- 软件开发:可行性分析--->需求分析--->软件设计--->软件开发--->发布、运维
- 项目构建:清除--->编译--->测试--->测试报告--->打包(jar\war)--->安装--->部署
注:eclipse无法将项目部署到远端服务器

2.引入maven
a.maven介绍
- apache旗下的一款开源工具 
- 核心pom(项目对象模型)  Project Object Model
- 软件构建的整个生命周期(清除--->编译--->测试--->测试报告--->打包(jar\war)--->安装--->部署)
-- maven是采用纯java编写的开源项目管理工具
-- maven采用了一种称之为Project Object Model(POM)概念来管理项目,
-- 项目配置信息都被定义在一个pom.xml文件中,通过该文件maven可以管理项目的整个生命周期,包括清除、编译、测试、报告、打包、部署等等
b. maven 解决的问题
- jar包的声明式依赖管理  struts-core.jar 自动寻找依赖jar包
- 自动构建、发布项目
c. maven、ant、svn
都是软件构建工具,软件管理工具,maven比ant更强大,已经取代ant
maven优点:
- jar包声明式依赖
strut 2.3-16 core
int a;
- jar包仓库
中心仓库 全球所有开源项目的jar包
本地仓库 从中心仓库下载到本地的jar包
test1()   int a =10;
test2()   int a =10;
int a =10;
svn:协同开发工具,版本控制工具
- 项目源码保存
- 历史版本的备份
- 版本的修改情况
二、Maven使用
1. maven目录结构
- lib:maven依赖jar包
- boot:
plexus-classworlds-2.5.2.jar  ---> 类加载器框架,jar包下载的引擎,通过该工具来下载jar包
1.第三方依赖的jar包
2.生命周期插件
清除插件、编译插件、打包插件、部署插件
- bin:
maven命令
mvn 命令
- conf:
setting.xml maven配置文件
-- 本地仓库地址
-- 服务器的验证
2. 测试maven是否配置成功
- 需配置环境变量,命令mvn -version
3. 创建maven规范的项目
a.maven项目目录结构:
-src  sourceFolder
-main
-java   //-包和类

-resource  //除过.java资源和配置文件
-test
-java  //测试代码
-resource  //测试资源
-target:编译好.class文件存放目录,没有此目录,编译好自动创建
-pom.xml   //maven项目配置信息 jar包声明信息、插件信息
注:可以自动构建符合maven规范的项目
1. archetype:generate 按照提示进行选择
2. archetype:gennerate -DgroupId=组织名,公司网址的反写+项目名 
   -DartifactId=项目名/模块名
   -Dversion=版本号
   -Dpackage=代码所存在的包名
b.配置本地仓库 setting.xml 
c.maven默认无生命周期命令插件,通过命令插件来构建项目,会自动下载插件到本地仓库
常用命令有:mvn xxx
clean 清除
complie 编译
test 测试
package 打包
install 安装
deploy 部署 
d.maven生命周期插件和jar包下载路径配置
<!--配置中心仓库下载地址-->
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!--配置生命周期插件下载地址-->
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
三、Maven
1. maven术语
a.生命周期
清除、编译、测试、打包、安装、部署
  生命周期插件
mvn 命令(自动去中心仓库下载插件,如果下载过会保存在本地仓库,可以直接使用)
mvn clean 清除插件
b.maven坐标
maven通过坐标的概念来确定唯一标识jar或者war包  
坐标的组成groupId + artifactId + version
groupId: 组id,公司的id 或者公司包名
artifactId:构建物id,产品名或者产品id
version:版本号
c.maven仓库
1.中心仓库 maven\lib\maven-model-builder-3.3.9.jar\org\apache\maven\model\pom.xml
2.本地仓库 setting  <localRepository>F:/mvn_repository/repository</localRepository>
3.镜像仓库 中心仓库在国内的备份
配置setting.xml
<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>        
</mirror>
CSDN
2. jar包命名规则
artifactId-version.jar
junit-4.9.jar
mybatis-spring-1.22.jar
3. pom.xml文件详解
<!--
modelVersion  指定了pom版本 4.0.0
groupId   组id (公司网址倒置+项目名)
artifactId   构建物id (项目名)
version   版本号 0.0.1(第一个0表示大版本号,第二个0表示分支版本号,第三个1表示小版本号) 
   SNAPSHOT 测试版本  RELEASE 发行版本 
name   项目描述名称
url   项目地址
dependency   依赖 通过maven坐标依赖
scope   使用范围 test/complie
-->
<modelVersion>4.0.0</modelVersion>
<groupId>com.baizhi</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<!--依赖的jar包使用的范围,当测试时使用该jar包-->
<scope>test</scope>
</dependency>
</dependencies>
四、MyEclipse集成
1. 配置Maven插件
a.MyEclipse集成了maven插件,需做简单配置
installations ---> 选择下载到本地的maven地址
user Setting  ---> 选择maven中setting.xml文件
2. 创建Maven项目
new ---> Maven Project ---> archetype(骨架、框架)
maven-archetype-quickstart:快速构建项目的骨架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值