Maven简介

9 篇文章 0 订阅
9 篇文章 2 订阅

简介

Maven这个词翻译为『专家』或『内行』。
Maven是Apache组织中一个颇为成功的开源项目,主要服务于基于JAVA平台的项目构建,依赖管理和项目信息管理。

构建包括了编译,运行单元测试,生成文档, 打包,部署等工作。

构建

maven是一个强大的构建工具,从清理,编译,测试到生成报告,再到打包,部署。
Maven抽象了完整的构建生命周期模型。
maven是跨平台的,Windows, linux, mac上都可以使用同意的命令

Maven为全世界JAVA开发者提供了免费的中央仓库。

Maven安装

Mac上安装maven
可以直接用brew install maven,
maven会自动安装到/usr/local/Cellar/Maven
安装完后执行mvn -v 可以查看版本和目录

安装目录

Maven home: /usr/local/Cellar/maven/3.5.2/libexec
有下面四个目录:
- bin
- boot
- conf
- lib
bin : 包含了mvn的运行脚本,这些脚本用来配置java命令, 准备好classpath和相关的java系统属性,然后执行java命令。
mvnDebug比mvn多了一条 MAVEN_DEBUG_OPTS 命令, 其作用在运行maven时开启debug, 以便调试maven本身。
该目录还包括 m2.conf , 这是 classworlds的配置文件。

boot : 包含 plexus-classworlds-2.5.2.jar 一个文件, plexus-classworlds是一个类加载器框架,Maven使用该框架加载自己的类库。

conf : maven的全局配置文件 setting.xml, 一般情况下,将该文件复制到 ~/.m2/ 目录下, 用户范围内配置。

lib : 包含了所有maven 运行时需要的java类库。

~/.m2

该文件夹下放置Maven本地仓库, ~/.m2/repository
还有配置文件 :setting.xml, 推荐用户范围内的setting.xml, 一方面避免影响到系统中的其他用户, 另一方面方便升级Maven。

设置http代理

如果公司基于安全因素考虑,要求使用代理访问网络。这种情况下就需要为maven设置代理。
编辑 ~/.m2/setting.xml

  <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
    -->
  </proxies>

proxies 下可以有多个proxy, 如果有多个,默认第一个被激活的proxy会生效。
active 为true表示激活该代理。
nonProxyHosts指定不需要代理的主机名,| 分割多个, 支持通配符,*.google.com, 表示以google.com 结尾的域名都不代理。

编写POM文件

Maven项目的核心是pom.xml.
POM:Project Object Model 项目对象模型,定义了项目的基本信息。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.x.mvn</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>

第一行是XML头, 指定了xml文档的版本和编码方式。
第二行是project元素, project是pom.xml的根元素,还声明了POM相关的命名空间和xsd元素,这些元素不是必须的,但使用这些属性能够第三方工具(IDE中XML编辑器)帮助我们快速编辑POM。
modelVersion指定当前POM模块的版本, 对于Maven2及Maven 3,只能是4.0.0.
groupId, artifactId, version定义了项目的基本坐标。
name为项目名称,不是必须的,为了方便信息交流。

地址:http://blog.csdn.net/yonggang7/article/details/79342422

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值