Maven常用的四个命令

这里是修真院后端小课堂,每篇分享文从

【 Maven常用的四个命令】

大家好,我是IT修真院郑州分院第6期的学员李亚衡,一枚正直纯洁善良的JAVA程序员

今天给大家分享一下,修真院官网JAVA任务一,深度思考中的知识点——Clean,Install,Package,Deploy分别代表什么含义?

1.背景介绍

什么是Maven

A:Maven是干什么的?

1.添加依赖

不用maven的时候所有的jar都不是你家的,需要去各个地方下载拷贝,用了maven所有的jar包都是你家的,想要谁,叫谁的名字就行。

2.编译代码

把代码编译成电脑能看懂的(0或1)二进制文件

3.建立项目目录

让我们知道什么代码该呆在什么地方

4.代码打包上传服务器

写的再好的代码不在服务器上运行那留着做传家宝吗?

概括地说,Maven可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的连接。

总的来说Maven希望把软件开发中的一些最佳实践和模式都整合和固化下来,这样使用Maven来进行开发时,开发过程更爽,生产出来的软件更棒,具有以上所罗列的各种特性。

B:Maven和别的项目管理软件的区别,拿Ant做比较

简单的说Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。

两者相比较,Maven比Ant多了一些功能

通过pom对软件项目进行管理

内含许多隐性规则,比如项目目录构造规则,

拥有强大的依赖管理,通过Repository对依赖统一管理储存

可以构建软件的生命周期

C:Maven的约定优于配置的思想

maven的配置文件看上去很复杂,其实只需要根据项目的实际需求,设置个别的几个配置项而已。

它有自己的一套默认配置,比如项目目录模板(src/main/java)

我们不需要去修改这些约定内容。这就是所谓的“约定优于配置”

2.知识剖析
mvn clean:清理项目建的临时文件,一般是模块下的target目录

mvn package:打包到本项目,一般是在项目target目录下

mvn install:打包会安装到本地的maven仓库中

mvn deploy:将打包的文件发布到远程(如服务器)参考,提供其他人员进行下载依赖

3.常见问题以及解决方案
1.Maven项目目录构造杂乱的问题

使用Maven因为其约定由于配置的思想,我们要遵守其项目目录构造的约定,否则将会带来诸多不便

运行一条mvn clean package命令,Maven会帮你清除target目录,重新建一个空的,编译src/main/Java类放到target/classes,复制src/main/resources的文件至target/classes,编译src/test/java至target/test-classes,复制src/test/resources的文件至target/test-classes;然后运行所TEST;测试通过后,打包,存在target目录下。说实话Maven做的事情一点也不少,只是都对用户隐蔽起来了,它仅仅只要求你遵循它的约定而已

2.打包war包时install报错找不到web.xml文件

只有在WEB项目下才使用war打包,否则因为java项目下没有web.ini和web.xml,就会出现报错,将打包方式更改为jar就不会出现该问题

5.编码实战
clean之前

Clean之后 target消失

package和instatall的区别

先 执行package 本地仓库并没有jar包

执行install 本地仓库出现JAR包

正在上传…
取消
6.扩展思考
手动导入依赖Jar包和用pom导入依赖Jar的区别

手动导入需要找包,然后导入,做大项目太浪费时间

用pom.xml导入jar包,只需配置pom,maven自动下载并导入

7.参考文献
Maven 各命令执行流程解析和说明

http://blog.csdn.net/jun55xiu/article/details/22175505

深入理解maven及应用

http://blog.csdn.net/chaofanwei/article/details/36197183

MAVEN项目标准目录结构

http://blog.csdn.net/lengyue_wy/article/details/6718637

8.更多讨论

Maven常用的四个命令_腾讯视频

Clean了什么?

Clean了target下面的文件

什么时候Clean

当代码做出了修改需要重新编译运行的时候进行Clean,建议每次执行其他命令之前都执行Clean

Package和install有什么区别?

Package只打包到项目目录target下

Install打包到target下和.m2仓库目录下

pom配置jar包语句在哪里找到?

https://mvnrepository.com/

搜索想要的JAR包并选择版本就会有写好的语句可以复制

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值