标签:encoding 好处 管理工具 技术 建仓 打包 优先 log 源码
maven(翻译为内行、专家),是跨平台的项目管理工具,主要服务于基于java平台的项目构建、依赖管理和项目信息管理
一.基本概念
1.项目构建过程
分为【清理】-【编译】-【测试】-【测试报告】-【打包】-【部署】六个步骤,自动化的、可重用的、跨平台的项目构建工具。
2.依赖管理
就是项目用到(依赖)的jar包的管理,maven是通过自动导入jar包进行管理的
3.使用maven的好处
maven约定好,java源代码放在哪,test代码放在哪,编译好的代码放在哪
Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情
使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。
二.maven的简单使用
1.目录约定
MavenProjectRoot(项目根目录)
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
| |----test
| | |----java ——存放所有测试.java文件,如JUnit测试类
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目
2.手动新建项目
首先在E盘新建maven01文件夹,新建pom.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 5 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 6 <!--所有的Maven项目都必须配置这四个配置项--> 7 <modelVersion>4.0.0</modelVersion> 8 <!--groupId指的是项目名的项目组,默认就是包名--> 9 <groupId>cn.gacl.maven.hello</groupId> 10 <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"--> 11 <artifactId>hello-first</artifactId> 12 <!--version指的是版本,这里使用的是Maven的快照版本--> 13 <version>SNAPSHOT-0.0.1</version> 14 </project>
并在maven01中创建src-main-java文件夹,java中创建hello.java文件
hello.java
1 public class Hello{ 2 public static void main(String[] args){ 3 System.out.println("Hello Maven"); 4 } 5 }
接下来在命令行进行编译,使用命令mvn compile
BUILD SUCCESS,则编译成功,由于本地仓库之前编译项目时,已经下载了jar中,这里就不要下载,而是直接去本地仓库
发现编译完成后,maven01中多了target文件夹
打开target文件夹,里边多了classes文件夹
classes文件夹存放的就是编译成功后生成的.class文件,如下图所示:
使用"mvn clean"命令清除编译结果,也就是把编译生成的target文件夹删掉,如下图所示:
再看maven01文件夹下已没有target文件
三. 修改从maven中心仓库下载到本地啊的jar包的默认位置
从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录,如下图所示
我们想要将jar包放在自己的仓库位置,首先新建仓库(如D:\respository),就是新建文件夹。
打开maven安装目录下的conf中的settings.xml
添加下面一行。将jar包仓库配置到D:\respository,以后jar包都默认下载到此位置
把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。如下图所示:
第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。
标签:encoding 好处 管理工具 技术 建仓 打包 优先 log 源码
原文地址:http://www.cnblogs.com/zhima-hu/p/7397264.html