Maven基础【一】

百度百科?

Maven项目对象模型:可以通过一段描述信息来管理《项目的构建,报告和文档软件》的软件项目管理工具,来自于Apache组织的一个开源项目,他可以从中央信息管理项目的构建报告文档


同类技术有哪些?

Maven不是java领域唯一的构建管理的解决方案,还有一些其他的Make Ant Gradle
这里写图片描述


#相比同类优缺点
这里写图片描述


#Why用maven
1maven解决了jar包包里问题
2maven自动从仓库中下载相应jar包导入项目,而且自动传递依赖
3升级版本框架方便
4自动部署
5热部署,热编辑:web服务允许的时候修改代码可以直接被web服务器接受,不需要重新启动服务器


#不用maven会有什么

1jar包混乱,工程中存在jar包重复版本不一致情况
2添加jar包随意,没有记录
3重复构建
4不同环境构建差异,开发环境与测试环境总是不一样


#怎么使用Maven
##Setting 文件的配置

1 proxy表示Maven的代理

  - 为什么需要代理?

基于安全的考虑,要求通过安全认真的代理访问因特网,所以这个时候需要配置Http代理,才可以访问
外部仓库

2 Repository

  1. 表示maven中央仓库

3 release表示发布版本 snapshots表示快照版本
4<localRepository>修改本地仓库地址</localRepository>
5添加私服仓库镜像

如果A仓库可以提供给B仓库所有内容,那么就认为A仓库是仓库B的一个镜像
<mirror>
   <id>maven</id>
   <name>  </name>
   <url></url>
   <mirrorOf>*</mirrofOf>
</mirror>

6添加用户名密码

<server>
    <id>maven</id>
    <username>ligang</username>
    <password></password>

<server>

##POM
Project Object Model 项目对象模型定义了项目的基本信息,用于描述项目是如何构建的,
格式
1.第一行是xml指定了xml文档的版本和编码方式
2.project是所有pom.xml的根元素
3.modelVersion指定了当前pom模型的版本,对于maven2和maven3来说只能是4.0.0
这三个表示项目的基本坐标,jar pom war都是基于这些区分的
4.groupId:定义域了项目属于哪个组,这个组合和项目和公司有关系,如果项目名称叫做judy,com.ggoo.judy
5.artifactId:当前maven在项目中唯一id,
6.version : 当前项目 版本
7.classifier:该元素用来帮助定义构建输出的一些附属构建
8.properties:如果是project.build.sourceEncoding项目构建源码编码方式
groupId artifactId version是必须定义的,packaging 是可选择的,默认是jar ,而classifier是不能直接定义的


#maven命令
1 mvn clean 清空输出目录
2 mvn compile 编辑源代码
3mvn package 生成构建包
4 mvn install 将构建包安装到本地仓库
5mvn deplaoy 将构建包部署到远程仓库


#是否有必要使用maven

如果我们有10个项目那么意味着我们必须引入10分模块,如果我们有私有仓库会怎么样?
这里写图片描述


#Maven最常见的问题和缺陷
全英
https://maven.apache.org/general.html
http://www.radcortez.com/maven-common-problems-and-pitfalls/

该jar不包含在发行版中!
mvn dependency:analyze:这个命令会包塑你项目实际使用那些依赖
mvn dependency:tree:它会输出一个树会为项目的所有依赖和版本。这对调试这些问题非常有帮助。


#Why有的人不喜欢maven
https://news.ycombinator.com/item?id=5105164

这是关于依赖性解析机制的问题。有些东西坏了,但我还没有能够指出它

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芬-Judy领袖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值