最近做ITOO,涉及到了一些maven的知识,就先了解一下相关内容。
一、maven是什么?为什么要使用?
我们开发比较大的项目的时候,会遇到各种问题。最显著的一点就是各种框架jar包的管理 ,如果没有maven的依赖管理 ,比果你下载了一个A.jar,A.jar可能又依赖了10几个jar,你是必要将这10几个jar都导入项目的classpath中,如果使用maven的依赖管理,你只需要在pom.xml中声明对A.jar的依赖就可以了,其他A.jar的子依赖会自动导入
maven带给我们的好处?
Maven的用途之一是服务于构建,它是一个异常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。我们不需要也不应该一遍又一遍地输入命令,一次又一次地点击鼠标,我们要做的是使用Maven配置好项目,然后输入简单的命令(如mvn clean install),Maven会帮我们处理那些烦琐的任务。
二、maven使用基础
1、 maven安装
下载maven ,解压到本地即可。
过程非常简单,请参照:maven配置环境变量
3、 安装本地仓库
3.1在maven项目中添加解压的maven。
Eclipse—windows-Perferences—Maven-Installations—add-installation type 选择maven安装目录。在Installations中选择新配置的maven选项。
3.2安装仓库配置
这个过程,主要是修改maven目录下面的confg的Setting.xml文件。
默认路径是在用户的文档下面的.m文件下,需要将其修改为自己电脑 的一个不会被删除的路径。
这个设置中主要包括以下内容:
(1)设置本地仓库,(2)设置远程仓库(3)设置远程仓库的路径等,具体如下:
<!-- 设置本地仓库路径 -->
<localRepository>D:\needforjava\maven\repository</localRepository>
<!-- 设置发布 jar 包时的用户名及密 -->
<servers>
<server>
<id>releases</id>
<username>XXX</username>
<password>XXX</password>
</server>
</servers>
<!-- 设置 maven 的远程仓库为 nexus -->
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>central</mirrorOf>
<name>nexus repository</name>
<url>http://xxxxxx</url>
</mirror>
</mirrors>
<!-- 设置 central 的路径等 -->
<profiles>
<profile>
<id>central</id>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central</name>
<url>http://xxxxxx</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>central</activeProfile>
</activeProfiles>
4、 maven坐标我们知道maven为我们提供给了中央仓库,能够帮助我们自动下载你jar包,但是maven仓库中的内容很多,如何准确的找到jar呢?所以就引入了坐标的概念。就好像几何数学中通过横坐标和纵坐标确定一个点一样,maven也提供了一些元素,能够唯一确定一个jar。
groupId :定义当前Maven项目隶属的实际项目。groupId的表示方式与Java包名的表达方式类似,通常与域名反向一一对应。
rtifactId : 该元素定义当前实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。比如上例中的my-app。
version : 该元素定义Maven项目当前的版本
packaging :定义Maven项目打包的方式
<dependency>
<groupId>com.tgb</groupId>
<artifactId>itoo-base</artifactId>
<version>${itoo-base.version}</version>
</dependency>
在pom.xml文件中写入相应的依赖关系,保存一下,那么在Maven Dependencies就会自动 帮助你下载相应的jar.非常的方便,减少了很多不必要的版本管理问题。
5、 创建代码和测试代码路径
这个暂时不知道具体有啥作用,先记下来。
6、maven相关命令
在Ecplise中的操作如下:
7、 依赖包的查询
一些jar包的配置信息在开发的时候就写入了pom信息了,各自的依赖都在maven官方仓库中有,查询的地址如下:点击打开链接
例如寻找hibernate相关的jar,搜索框输入hibernate,就会出现如下很多jar。找到自己需要的版本,点击查看即可。
在jar的介绍中会提供坐标信息,复制相关内容到对应的pom文件即可。
在pom中加入相关依赖之后,保存一下,就会自动下载相应的jar包,十分便捷。
小结:
maven的一些基础知识,动手了解一下比较好。