③. 仓库repository
- ①. 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找
说明:
默认本地仓库位置在 u s e r . d i r / . m 2 / r e p o s i t o r y ,
{user.dir}/.m2/repository,user.dir/.m2/repository,{user.dir}表示 windows 用户目录。
②. 远程仓库
中央仓库:在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件
私服:在局域网环境中部署的服务器,为当前局域网范围内的所有Maven工程服务。公司中常常使
中央仓库的镜像:架设在不同位置,欧洲,美洲,亚洲等每个洲都有若干的服务器,为中央仓库分担流量。减轻中央仓库的访问,下载的压力。所在洲的用户首先访问的是本洲的镜像服务器
④. Maven的生命周期
①. maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等
Site Lifecycle 生成项目报告,站点,发布站点
②.对于我们程序员而言,无论我们要进行哪个阶段的构建,直接执行相应的命令即可,无需担心它前边阶段是否构建,Maven都会自动构建。这也就是Maven这种自动化构建工具给我们带来的好处
⑤. Maven常用命令
①. mvn clean:将target目录删除,但是已经 install 到仓库里的包不会删除
②. mvn compile:编译(执行的是主程序下的代码)
③. mvn test:测试(不仅仅编译了src/main/java下的代码,也编译了java/test/java下的代码)
④. mvn package:打包(执行的时候回打成war包,编译了src/main/java下的代码,也编译了java/test/java下的代码)
⑤. mvn install:安装(执行的时候回打成war包,编译了src/main/java下的代码,也编译了java/test/java下的代码,将这个包安装到了本地仓库中)
⑥. mvn deploy:部署(需要配置才能执行)
注意:
运行Maven命令时一定要进入pom.xml文件所在的目录!
⑥. 插件plugings
什么是插件?
maven提供的功能,用来执行清理、编译、测试、报告、打包的程序
①. clean插件maven-clean-plugin:2.5
clean阶段是独立的一个阶段,功能就是清除工程目前下的target目录
②. resources插件maven-resources-plugin:2.6
resource插件的功能就是把项目需要的配置文件拷贝到指定的目当,默认是拷贝src\main\resources目录下的件到classes目录下
③. compile插件maven-compiler-plugin
compile插件执行时先调用resouces插件,功能就是把src\mainjava源码编译成字节码生成class文件,并把编译好的class文件输出到target\classes目录下
④. test测试插件
单元测试所用的compile和resources插件和主代码是相同的,但执行的目标不行,目标testCompile和testResources是把src\test\java下的代码编译成字节码输出到target\test-classes,同时把src\test\resources下的配置文件拷贝到target\test-classes
⑤. package打包插件maven-jar-plugin
这个插件是把class文件、配置文件打成一个jar(war或其它格式)包
⑥. deploy发布插件maven-install-plugin
发布插件的功能就是把构建好的artifact部署到本地仓库,还有一个deploy插件是将构建好的artifact部署到远程仓库