一般来说,github上大多的java项目都是使用maven,ant等进行构建的。由于之前没有使用过maven,因此这几天对maven进行了简单的学习。古话说:“温故而知新”,一些命令长时间不使用都会遗忘,所以想通过这篇博客记录一下自己对maven学习的成果,等到使用时再温习。下面将首先对maven进行介绍,然后介绍maven的安装配置以及与eclipse的集成,最后介绍maven常用命令,maven一般的项目结构,以及maven的pom文件。

一. maven简介

maven是一个强大的项目构建和管理工具,利用java进行开发,属于Apache下的开源项目,现在的最新版本为Apache Maven 3.3.9,官网为 http://maven.apache.org。maven是跨平台的,并且功能很强大,能够帮助使用者完成从清理,编译,测试,生成报告,打包和部署的一系列操作过程。maven标准化了项目的构建过程,有利于团队之间的协作。此外,maven可以有效的解决java项目中jar包依赖问题,解决由此带来的版本不一致等问题。maven还提供了一个免费的中央仓库,几乎可以找到任何开源类库。

二. maven安装及配置

(1)安装配置本地maven

在安装maven之前必须保证计算机已经安装和配置好了jdk环境,然后从官网上下载想要安装的maven版本 http://maven.apache.org/download.cgi,这里我安装的maven 3.3.9。然后根据自己的安装路径配置环境变量,具体的新建系统变量MAVEN_HOME,并设置为安装的maven路径,如下图:

最后,在系统变量Path加上 ;%MAVEN_HOME%\bin。之后,在命令行中输入mvn -version 判断是否安装成功,如果出现如下界面证明安装成功。

上述步骤完成后就可以开始使用maven了,但是maven默认将仓库放在用户的临时文件夹下的 /m2/repository下,但是为了方便管理可以通过设置conf 文件 夹 下的setting.xml文件下<localRepository></localRepository>节点来自定义本地仓库内容。我再E盘重新建立本地仓库文件夹E:/m2/repository,并设置了setting.xml文件:<localRepository>E:/m2/repository</localRepository>。

这样,我们就完成了maven的安装配置及自定义本地仓库的位置,在命令行中输入mvn help:system,可以看到本地maven为我们从中央仓库中下载了一些文件到本地仓库中。

(2)eclipse中配置maven

eclipse是我们熟悉的IDE,可以直接通过下载m2eclipse插件来完成maven的安装及配置,这种方式不便利maven的管理及使用。本人推荐使用本地安装maven后在eclipse中进行配置。具体的完成(1)中所有操作确定maven安装配置正确后,首先在eclipse->Window->Preferences->Maven->Installations中添加maven,如 下图:

然后在eclipse->Window->Preferences->Maven->User Settings中设置本地仓库及对应setting.xml文件位置,具体如下(我拷贝一份了setting.xml文件到本地仓库m2文件夹下,用来说明这是针对该仓库的设置,也可以直接使用maven安装文件下的setting.xml文件):

以上就完成了eclipse配置本地安装的maven环境,如果在eclipse中Window->Preferences没有出现maven插件选项,可以参考博客http://blog.csdn.net/truong/article/details/37834053 来解决问题。

三. maven常用命令

本节介绍几个maven常用的命令,以备遗忘时可以查看。

mvn -version                 查看maven的版本及配置信息

mvn archetype:create   -DgroupId=    DartifactId=    构建java项目

mvn archetype:create   -DgroupId=    DartifactId=    -DarchetypeArtifactId=maven-archetype-webapp  创建web项目

mvn compile                编译项目代码

mvn package               打包项目

mvn package -Dmaven.test.skip=true   打包项目时跳过单元测试

mvn test                      运行单元测试

mvn clean                    清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test

mvn install                   打包后将其安装在本地仓库

mvn deploy                  打包后将其安装到pom文件中配置的远程仓库

mvn eclipse:eclipse      将maven生成eclipse项目结构

mvn eclipse:clean         清除maven项目中eclipse的项目结构

mvn site                       生成站点目录

mvn dependency:list      显示所有已经解析的所有依赖

mvn dependency:tree     以树的结构展示项目中的依赖

mvn dependency:analyze  对项目中的依赖进行分析,依赖未使用,使用单未引入

mvn tomcat:run              启动tomcat

四. maven中pom文件

pom文件是maven中最重要的文件,以上命令的也需要根据pom文件进行运行。一般在构建完maven项目后需要修改pom文件添加诸如依赖关系,打包机制及一些项目的详细信息。一般的pom包含如下一些基本的信息:

groupId:项目或者组织的唯一标志

artifactId:项目的名称

version:项目的版本

packaging:打包机制

name:用户描述项目的名称

url:应该是只是写明开发团队的网站

其中groupId,artfactId及version是所有的pom文件必须拥有的。除了这些基本信息外就是pom的依赖,集成,合成关系,插件,构建信息的一些声明,这里不进行详细介绍,下面给出一个简单的pom文件示例如下:

以上就是本文中关于maven学习过程中的一些记录,希望可以帮助自己更好的掌握maven的使用,也可以帮助maven的初学者掌握maven的使用。作为初学者,希望和大家共同进步,如果有任何错误,欢迎大家纠正。

maven的配置及一些常用命令的更多相关文章

  1. Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

    Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...

  2. Maven的目录结构和常用命令

    一.Maven项目的目录结构  1.顶级目录结构   src:该目录主要存放的是项目的源代码文件. target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件. pom.xm ...

  3. Maven详解()-- 常用命令

    Maven常用命令: Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 一,Maven常用命令: ...

  4. Maven 仓库、坐标、常用命令

    maven中的仓库 需要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库. 中央仓库很多都在国外,下载速度慢.国内的一些公司在自己的服务器上搭建了maven仓库(中央仓库的镜像),供内部 ...

  5. Git配置和一些常用命令

    Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...

  6. Mysql免安装版配置教程和常用命令图

    Mysql免安装版配置教程 图文版 配置环境变量 新建一个my.ini文件,添加下面内容 [mysqld] basedir=C:\\software\Mysql\mysql-5.7.14-winx64 ...

  7. Git 配置环境及常用命令整理

    一.Git教程网站 廖雪峰网站 易百GitHub命令:https://www.yiibai.com/git/git_clone.html 完成Windows环境命令下Git config配置 设置好之 ...

  8. redis配置密码 redis常用命令

    redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy   #requi ...

  9. 0、驱动及应用小技巧、uboot指令及环境变量配置、linux常用命令

    (内核make menuconfig之后,通过insmod安装的驱动都应该重新make,可能会出现一些莫名的问题) (nor flash/SDRAM/DM9000都受内存控制器控制,需要配置内存控制器 ...

随机推荐

  1. 016 SpringMVC中重定向

    1.介绍 2.index <%@ page language="java" contentType="text/html; charset=utf-8" ...

  2. 039 hive中关于数据库与表等的基本操作

    一:基本用法 1.新建数据库 2.删除数据库 3.删除非空的数据库 4.指定数据库的位置 LOCATION:指定数据库的位置,不会在系统的默认文件下. 5.在指定数据库中新建表(验证在指定的数据库中可 ...

  3. linux 编译内核 /boot空间不足?

    /boot空间一般分配100M的空间,本来是够用的,由于频繁的更新导致旧的不再使用的内核文件也保留在boot空间里,占着位置,所以把这些不用的内核文件下载掉boot空间就能释放出一部分, 具体做法为 ...

  4. [漏洞分析]thinkcmf 1.6.0版本从sql注入到任意代码执行

    0x00 前言 该漏洞源于某真实案例,虽然攻击没有用到该漏洞,但在分析攻击之后对该版本的cmf审计之后发现了,也算是有点机遇巧合的味道,我没去找漏洞,漏洞找上了我XD thinkcmf 已经非常久远了 ...

  5. Bootstrap 图片

    摘要: Bootstrap框架对图片样式的支持. <img>类 Bootstrap 提供了对图片应用简单样式的 class. .img-rounded:添加 border-radius:6 ...

  6. Django 面向对象orm

    django支持三种风格的模型继承: 1. 抽象类继承: 父类继承自models.Model, 但不会在数据库中生成相应的数据表.父类的属性列存储在其子类的数据表中 2. 多表继承: 多表继承的每个类 ...

  7. win7下一劳永逸地解决触控板禁用的问题

    win7下一劳永逸地解决触控板禁用的问题--有鼠标时触摸板不再可用, 没鼠标时才启用 下载Synaptics触摸板驱动并安装(去官网或驱动之家都可以) →重启 开始→运行→框内输入 regedit 点 ...

  8. PHP抓取网页内容经验总结

    用php 抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等,抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就 ...

  9. 话说extern和static

    以前对extern.static的一些东西一直模棱两可.今天好好来梳理了一番.. static关键字 被static修饰的变量或函数称之为静态成员.函数. 存储位置:static修饰的变量存放在静态区 ...

  10. AngularJS中转换响应内容

    从远程API获取到的响应内容,通常是json格式的,有时候需要对获取到的内容进行转换,比如去除某些不需要的字段,给字段取别名,等等. 本篇就来体验在AngualrJS中如何实现. 在主页面,还是从co ...