了解 Maven
2016-01-02 00:53
351 查看
Maven 简介
Maven 翻译成中文是『专家』的意思,它在 Ant 这个工具之后出现,必然是解决 Ant 存在的一些问题。在官网的 Introduction 有这样一句话。We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.
Maven 是简化打包和处理依赖关系的工具。
安装 Maven
通过Maven 官网下载链接,下载安装。本地需要安装了JDK 并且配置好环境变量。然后新建一个变量 M2_HOME,指向 Maven 的目录,在 Path 里面加上 %M2_HOME%\bin,配置完成。通过在命令行输入 mvn -v 如果出现了 Maven 的相关信息,就代表配置完成。如果出错,echo %path% 看一下 path 是否配置正确,echo %M2_HOME% 看看 Maven 的位置是否正确。配置 Maven
一般来说, Maven 的默认配置已经够用。在这里简单介绍一下- 配置本地仓库位置
你可以在 M2_HOME\conf 路径下的 settings.xml 文件中进行配置<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> -->
将注释打开,然后配置本地绝对路径即可。
- 配置镜像
由于国内网络问题,会出现访问超时的现象。这时可通过配置代理解决。同样是在 settings.xml 文件,找到 mirrors 节点进行配置。在我本机上配置的镜像是<mirror> <id>ibiblio.org</id> <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url> <mirrorOf>central</mirrorOf> <!-- United States, North Carolina --> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirro 4000 rOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> </mirrors>
你也可以去 google 一个镜像进行配置。
创建一个 Maven 项目
开发工具:IntelliJ IDEAIntelliJ IDEA 提供了对 Maven 的良好支持,它内置了 Maven 的客户端和 Windows 的 Terminal,你可以通过图形化界面和命令行两种方式操作 Maven。
开发步骤
File -> new project -> Maven 。GroupId 和 ArtifactId 随便填,后面会讲解这两个代表什么。
选择项目路径即可。
如果出现 Maven project need to be imported,选择 Enable Auto-Import 就行。
你可以进入到 pom.xml 文件中看一下,在我的机器上面是这样的。
<?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.puhui.maventest</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> </project>
下面是对这几个标签的简单解释。
project:pom 文件的根节点。
modelVersion:pom 文件使用的 object model 版本,这个东西一般不会发生变化。
groupId:该 project 开发者的组织名称,类似于 Java 中包名的概念,这个是 project 的标识之一。Maven-plug-ins 的 groupId 就是 org.apache.maven.plugins。
artifactId:project 通常的叫法。比如 junit 框架的 artifactId 就叫 junit。
version:project 的版本号,进行版本管理时可以使用。TODO->介绍SNAP-SHOOT。
可以通过 dependencies 来声明一系列的依赖关系,dependency 是它的子标签。下面声明的是 junit 框架,版本是 4.11。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> </dependencies>
如果你的本地没有这个库,Maven 会联网下载,然后放到你的仓库文件夹中保存。在你的 Java 代码中就可以使用 junit 框架了。
上面声明的是公有的 jar,下面我们通过新建一个 Maven 项目将其打包,然后在该项目中进行依赖。
步骤:
1. 新建一个 Maven 项目。
2. 然后执行 mvn clean install 命令,将其打包。
3. 在该项目中对其进行引用
<dependency> <groupId>com.puhui.maventest</groupId> <artifactId>my_project</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
在本地代码仓库中可以找到 maventest 这个 jar 。说明打包成功,可以引用依赖。
总结: 上面简单了解了一下 Maven 的基础知识,上面的知识可以应对绝大多数的情况,后面还会介绍关于 Maven 命令的相关知识。
相关文章推荐
- 方法与思想高于平台与语言
- nginx_lua vs nginx+php 应用场景
- 设计模式系列7---金点子多多的策略模式
- 第六届福建省大学生程序设计竞赛 Super Mobile Charger
- sublime2使用过程中遇到的一些问题总结
- 重新出发:我的2015总结和2016计划
- 代理设计模式在 UIScrollView 中的应用
- github比sourceforge好在哪?
- java温习笔记01:环境配置及编辑器设置
- 资源文件assets和 res下面raw文件的使用不同点
- UITableView
- RecyclerView的嵌套使用
- centos 6.7(final)jdk 安装
- ngx_lua应用最佳实践
- 【前端】JS
- 每日记录
- https提供安全的web通讯
- 黑马程序员——阶乘的两种实现方法及水仙花数的打印
- 学校里的那首歌
- [c语言]EmailAddresses(for hw)