一般在maven应用过程中,有一些东西是我们经常会遇到的,总结如下:
1、GAV坐标:通过GAV就可以确定一个jar包,通过这个坐标值,我们就可以将其下载下来,如下面:
<!--
所有的Maven项目都必须配置这四个配置项
-->
<modelVersion>4.0.0</modelVersion>
<!--groupId指的是项目名的项目组,默认就是包名-->
<groupId>cn.gacl.maven.hello</groupId>
<!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
<artifactId>hello-first</artifactId>
<!--version指的是版本,这里使用的是Maven的快照版本-->
<version>SNAPSHOT-0.0.1</version>
当然一个jar包就会有一个GAV坐标,除了我们自己发布的一些jar包文件,还有那么多的第三方的jar文件,我们不可能记得那么清楚,其实也没有让你去记,只要知道怎么去找我们自己想要的jar包就轻松多了。下面来给大家提供一个GAV坐标查找网址:http://mvnrepository.com
2、值得注意的是,maven项目规定,所有的*.java文件必须放在src目录下的main目录下的java目录中,pom.xml文件和src是同级目录。只有这样,maven才会识别,当我们的项目要用到相关的jar包时,maven会自动帮我们去中心仓库去下载。
3、maven常用命令含义:
mvn clean:表示运行清理操作(会默认将target文件夹中的数据清理)
mvn clean compile:表示先运行清理之后运行编译,会将代码编译到target文件夹中
mvn clean test:运行清理和测试
mvn clean package:运行清理和打包
mvn clean install:运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以使用
mvn clean deploy:运行清理和发布(发布到伺服上面,别的机器就可以通过GAV进行下载)
4、maven仓库配置
maven仓库,即我们项目所下载的jar包存放的地方,一般不进行配置的话,从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录。而为了便于管理和查找,我们都会自己指定一个本地仓库,配置如下:编辑conf文件夹下面的setting.xml文件,修改<localRepository>标签,如下:
5、maven继承特性,和类的集成类似,我们在集成一些类时,往往将父类的公共属性和保护属性继承到子类。maven也一样,如果配置了父文件信息(一般为GAV坐标),则会将父文件中的一些配置继承到子文件中(一般可以通过字方法进行版本控制)。如下:
1)在父文件中设置一些公共的属性或者GAV信息:
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><junit.version>4.10</junit.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency></dependencies>
2)在子文件中通过配置如下信息则可以进行继承:
<parent><groupId>com.tgb.user</groupId><artifactId>user-parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../user-parent/pom.xml</relativePath></parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies>