clean,install,package,deploy分别代表什么含义?

java分享会

分享人:邹苏

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

maven是什么?

首先,为什么有maven?构建是程序员每天要做的工作,而且相当长的时间花在了这上面,而maven使这系列的工作完全自动化。 我们一直在寻找避免重复的方法,设计的重复,文档的重复,编码的重复,构建的重复等,maven是跨平台的,最大的消除了构建的重复。

Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。

2.知识剖析

Maven特点:

1. maven不仅是构建工具,它还是依赖管理工具和项目管理工具,提供了中央仓库,能够帮我们自动下载构件。

2.为了解决的依赖的增多,版本不一致,版本冲突,依赖臃肿等问题,它通过一个坐标系统来精确地定位每一个构件(artifact)。

3.还能帮助我们分散在各个角落的项目信息,包括项目描述,开发者列表,版本控制系统,许可证,缺陷管理系统地址。

4.maven还为全世界的java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源软件。通过衍生工具(Nexus),我们还能对其进行快速搜索

5.maven对于目录结构有要求,约定优于配置,用户在项目间切换就省去了学习成本。

Maven的一些基础命令:

1、Mvn compile

执行 mvn compile命令,完成编译操作,执行完毕后,会生成target目录,该目录中存放了编译后的字节码文件。

Mvn clean

执行 mvn clean命令执行完毕后,会将target目录删除。

Mvn test

执行 mvn test命令,完成单元测试操作执行完毕后,会在target目录中生成三个文件夹:surefire、surefire-reports(测试报告)、test-classes(测试的字节码文件)

Mvn package

执行 mvn package命令,完成打包操作执行完毕后,会在target目录中生成一个文件,该文件可以是jar、war等

Mvn install

执行 mvn install命令,完成将打好的jar包安装到本地仓库的操作执行完毕后,会在本地仓库中出现安装后的jar包,方便其他工程引用

Mvn deploy

将打好的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

3.常见问题

Maven中央仓库经常不稳定,下载速度慢

4.解决方案

nexus-aliyun nexus-aliyun http://maven.aliyun.com/nexus/content/groups/public/ true false

也可以在settings中设置镜像

5.编码实战

6.扩展思考

怎么样能让Maven跳过JUnit?

7.参考文献

http://blog.csdn.net/woshixuye/article/details/8133050

https://www.cnblogs.com/fan-yuan/p/5008602.html

http://blog.csdn.net/iflow/article/details/46997315

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 邹苏