项目管理工具maven(1)
来源:互联网 发布:java服务器插件 编辑:程序博客网 时间:2024/06/05 16:53
一.maven介绍
1.1maven是什么?
maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源工具项目,他是一个项目管理工具,使用maven对java项目进行重建,依赖管理。当前使用Maven的项目正在持续增长。
1.2什么是项目构建?
项目构建是一个项目从编写代码到编译测试,执行,打包,部署,运行的过程。
1.2.1传统项目的构建过程:
构建过程如下:
1》在一个eclipse中创建一个javaweb工程
2》在工程中编写源代码以及配置文件等。
3》对源代码进行编译,java文件编译成为class文件
4》执行Junit单元测试
5》将工程达成war包部署至tomcat运行
1.2.2maven项目的构造过程
maven将项目构建过程进行标准化,每一个阶段使用一个命令完成,下图展示了构造过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解下:
上图中部分阶段对应命令如下:
清理阶段对应maven的命令是clean,清理输出的class文件
编译阶段对应maven的命令是compile,将java代码编译成class文件。
打包阶段对应maven的命令是package,java工程可以打成jar包,web包可以打包成war包
运行一个maven工程(web工程)需要一个命令:tomcat:run
maven工程构建的优点:
1.一个命令完成构建,运行,方便快捷。
2.maven对每个构建阶段进行规范,非常有利于大型团队协作开发。
2.1什么是依赖管理?
什么是依赖?一个java项目可能要使用一些第三方的jar包才可以运行,那么我们说这个java项目依赖了这些第三方的jar包。
手工拷贝的jar包添加到工程中的问题是:
1.没有对jar的版本统一管理,容易导致版本冲突。
2.从网上找jar包非常不方便,有些jar包找不到
3.jar包添加到工程中导致工程过大。
2.2. maven项目的依赖管理
maven项目管理所依赖的jar包不需要手动添加到工程当中,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包,运行。如下图:
使用maven依赖管理添加jar包的好处:
1.通过pom.xml文件对jar包的版本进行统一管理,可以避免版本冲突。
2.maven团队维护了一个非常全面的maven仓库,里边包括了当前使用的jar包,maven工程可以自动从maven仓库下载jar包,非常方便。
使用jar包的好处
通过上边传统项目和maven项目在项目构建以及依赖管理方面的区域,maven有如下的好处:
1.一步重建
maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程
2.依赖管理
maven工程不用手动导jar包,通过在pom.xml中定义maven仓库自动下载,方便且不容易出错。
3.maven的跨平台,可以在window。linux上使用。
4.maven遵循规范开发有利于提高团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。
远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
中央仓库:在maven软件中内置一个远程仓库的地址http://repo1.maven.org/maven2,它是中央仓库,服务于整个互联网,它是又Maven团队自己维护,里面存储了非常全面的jar包,它包含了世界上大部分主流的开源项目构件。
常用的maven命令
1.cmd进入命令状态
compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。
mvn compile
- 项目管理工具maven(1)
- Maven(项目管理工具)
- Maven项目管理工具学习(一)
- 项目管理工具Maven(一)基础知识
- Selenium之maven(项目管理工具)
- JAVA 项目管理工具: Maven
- Maven项目管理工具
- Maven 项目管理工具
- Java 项目管理工具Maven
- 项目管理工具Maven
- 项目管理工具Maven(二)
- Java项目管理工具-Maven
- 项目管理工具—Maven
- 项目管理工具maven
- 项目管理工具---maven
- 项目管理工具--Maven
- 项目管理工具-Maven
- 使用项目管理工具 Maven
- HDU 4007:Dave (枚举)
- java中int转String
- idea的实用功能
- L2-022. 重排链表
- Javascript模块化编程
- 项目管理工具maven(1)
- Effective c++ 学习笔记 1
- Java HashSet练习
- Java之集合类(2)
- C++面试宝典 知识点集锦
- permutations
- hdu 4406 #最大费用流
- 拓扑序列_邻接矩阵实现(Topological sequence)
- Java中substring、split、StringTokenizer三种截取字符串方法的性能比较