`

maven 入门简介

阅读更多

 

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.

  如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页.


  项目的主页地址为:http://maven.apache.org/

很久以前,我们提起构建项目,首先会想到ant,在项目里面建一个build.xml,然后写一大堆脚本,定义一堆任务。现在,另一款工具maven2越来越流行(为什么是maven2,而不是maven呢。。。嘿嘿,因为maven1实际上只是ant的一个扩展~),大有取代ant的趋势。他只需要简简单单的几行代码,甚至可以完全用工具来操作就能实现构建,很多开源项目诸如我们熟悉的strutsspringhibernate都在新版本里使用了maven

接下来,我们来简单讲解一下maven怎么用,最后以一个实例来结束本文。

()
maven
的安装
       打开http://maven.apache.org/download.html,选择自己需要的版本,这里我选择的是最新版apache-maven-2.2.1-bin.zip下载后解压到D:\source\build\apache-maven-2.2.1
在环境变量中添加M2_HOME,指向上面的解压路径。
path变量下增加%M2_HOME%\bin;
这样maven就安装完成了,在dos窗口下输入mvn –version会看到如下内容


安装完成后我们可以对maven进行配置,打开%M2_HOME%\conf\setting.xml文件,找到<localRepository>,这是maven从网络上下载文件到本地要存放的位置,默认是
C:\Documents and Settings\Administrator\.m2,这个位置在c盘,个人建议最好还是改一下,原因大家都知道,这里我是将这个位置改到了
<localRepository>D:/source/build/apache-maven-2.2.1/repository</localRepository>也就是我的maven安装目录下的repository文件夹下。
这里也可以写成<localRepository>${M2_HOME}/repository</localRepository>这样的,maven2是可以识别的,不过如果你要使用eclipse插件的话还是不要这样,因为插件里面识别不了${M2_HOME}

接下来我们认识一下maven2仓库文件夹的层次结构,打开repository文件夹,在没有用过maven之前它是空的,使用过后会出现很多我们熟悉的字样

这些就是我们下载过的依赖包,我们以dom4j包来讲解层次结构
打开dom4j,一直到最底层目录,我们会看到这样几个文件

它为什么会是这样一个目录结构呢?原因就在pom文件中,打开dom4j-1.6.1.pom
我们看到这样的内容

对了,我们的目录结构就是和这里对应的。多查看几个包的目录结构,对比一下每个的pom文件,我们会发现这里的层次结构其实是这样的groupId/artifactId/version/,如果groupId中间有.号,也就是类似这种org.apache.struts,那么它的目录结构就应该是org/apache/struts/artifactId/version/,在version文件夹下面就是我们真正需要的文件了,这里的包命名也是有规则的,必须是artifactId-version.jar,按照这种理论我们就能得到dom4jrepository中真正的目录结构dom4j/dom4j/1.6.1/ dom4j-1.6.1.jar

另外针对我们常用的eclipseideaidemaven也都有对应的插件,这里以eclipse为例说明。
Eclipse下的插件叫做m2eclipse,官方地址是http://m2eclipse.sonatype.org/,安装方法和其他插件相同。
在线安装地址http://m2eclipse.sonatype.org/sites/m2e
这里需要注意,m2eclipse针对eclipse3.2插件的地址已经失效,而我用的恰恰是3.2版,正好我硬盘上有myeclipse8.x,为了不必要的麻烦,我直接使用8.x,因为我记得好像是在7.5以后的版本中集成了一款插件maven4myeclipse来辅助maven开发。
()
使用maven创建java项目
       cmd下面运行
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –D packageName=org.jlqu1
会看到|

需要注意:如果是第一次用maven创建项目,速度可能会有点慢,因为maven是基于插件的,很多插件都是使用的时候才会从maven的插件库里去下载,从上图中也可以看到有downloading字样。
这个pom文件中的内容,大家望文生义都能理解,我只解释一下version,这个值对应到我们运行mvn package命令后在target文件夹下面得到的
javase-1.0-SNAPSHOT.jar
Maven有很多有用的命令,其中的mvn stie很有意思,运行成功后会在javase\target\下生成site文件夹,里面是一堆网页文件,打开index.html,是不是很熟悉呢?对了,他用apache官方的模板生成了一套关于我们自己项目的网站,很好玩~
Maven具体的命令,本文不作过多讲解,有兴趣的同学可以到官方网站看看,讲解非常详细。

有些同学可能想知道我们输入的命令到底是说明意思呢?
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –DpackageName=org.jlqu1
我来详细解释一下:
mvnmaven的命令
archetype:create表示创建一个项目,其中archetypemaven的一个插件,create是他的一个goal(maven插件的goal相当于anttarget)
-Djava用来设置属性的方式,请注意,它不是maven设置的。
groupId是项目所在的组名,你可以想象他就是org.apache…,这个组名主要有两个作用,其一是用来标识项目,其二是作为默认的包名,加入我们在上面的命令里没有输入–DpackageName=org.jlqu1,那么我们项目里的包就会使
com.jlqu
artifactId就是所创建的项目名称,在本例中可以看到项目名称就叫做javase
–DpackageName是指定包名。

如果需要将项目导入eclipse中,可以使用运行mvn eclipse:eclipse命令,完成后我们可以在项目根目录下看到熟悉的.classpath.project两个文件。

使用maven还可以进行添加依赖包、进行单元测试等操作,这些我们将会在本文最后的实例中通过可视化工具进行讲解,有兴趣深入研究的同学可以去查一下每步操作对应的命令。

()
创建一个web项目

mvn archetype:create -DgroupId=com.jlqu -DartifactId=javaweb -DarchetypeArtifactId=maven-archetype-webapp

 对了,我们的目录结构就是和这里对应的。多查看几个包的目录结构,对比一下每个的pom文件,我们会发现这里的层次结构其实是这样的groupId/artifactId/version/,如果groupId中间有.号,也就是类似这种org.apache.struts,那么它的目录结构就应该是org/apache/struts/artifactId/version/,在version文件夹下面就是我们真正需要的文件了,这里的包命名也是有规则的,必须是artifactId-version.jar,按照这种理论我们就能得到dom4jrepository中真正的目录结构dom4j/dom4j/1.6.1/ dom4j-1.6.1.jar

另外针对我们常用的eclipseideaidemaven也都有对应的插件,这里以eclipse为例说明。
Eclipse下的插件叫做m2eclipse,官方地址是http://m2eclipse.sonatype.org/,安装方法和其他插件相同。
在线安装地址http://m2eclipse.sonatype.org/sites/m2e
这里需要注意,m2eclipse针对eclipse3.2插件的地址已经失效,而我用的恰恰是3.2版,正好我硬盘上有myeclipse8.x,为了不必要的麻烦,我直接使用8.x,因为我记得好像是在7.5以后的版本中集成了一款插件maven4myeclipse来辅助maven开发。
()
使用maven创建java项目
       cmd下面运行
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –D packageName=org.jlqu1
会看到|

需要注意:如果是第一次用maven创建项目,速度可能会有点慢,因为maven是基于插件的,很多插件都是使用的时候才会从maven的插件库里去下载,从上图中也可以看到有downloading字样。
这个pom文件中的内容,大家望文生义都能理解,我只解释一下version,这个值对应到我们运行mvn package命令后在target文件夹下面得到的
javase-1.0-SNAPSHOT.jar
Maven有很多有用的命令,其中的mvn stie很有意思,运行成功后会在javase\target\下生成site文件夹,里面是一堆网页文件,打开index.html,是不是很熟悉呢?对了,他用apache官方的模板生成了一套关于我们自己项目的网站,很好玩~
Maven具体的命令,本文不作过多讲解,有兴趣的同学可以到官方网站看看,讲解非常详细。

有些同学可能想知道我们输入的命令到底是说明意思呢?
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –DpackageName=org.jlqu1
我来详细解释一下:
mvnmaven的命令
archetype:create表示创建一个项目,其中archetypemaven的一个插件,create是他的一个goal(maven插件的goal相当于anttarget)
-Djava用来设置属性的方式,请注意,它不是maven设置的。
groupId是项目所在的组名,你可以想象他就是org.apache…,这个组名主要有两个作用,其一是用来标识项目,其二是作为默认的包名,加入我们在上面的命令里没有输入–DpackageName=org.jlqu1,那么我们项目里的包就会使
com.jlqu
artifactId就是所创建的项目名称,在本例中可以看到项目名称就叫做javase
–DpackageName是指定包名。

如果需要将项目导入eclipse中,可以使用运行mvn eclipse:eclipse命令,完成后我们可以在项目根目录下看到熟悉的.classpath.project两个文件。

使用maven还可以进行添加依赖包、进行单元测试等操作,这些我们将会在本文最后的实例中通过可视化工具进行讲解,有兴趣深入研究的同学可以去查一下每步操作对应的命令。

()
创建一个web项目

mvn archetype:create -DgroupId=com.jlqu -DartifactId=javaweb -DarchetypeArtifactId=maven-archetype-webapp

对了,我们的目录结构就是和这里对应的。多查看几个包的目录结构,对比一下每个的pom文件,我们会发现这里的层次结构其实是这样的groupId/artifactId/version/,如果groupId中间有.号,也就是类似这种org.apache.struts,那么它的目录结构就应该是org/apache/struts/artifactId/version/,在version文件夹下面就是我们真正需要的文件了,这里的包命名也是有规则的,必须是artifactId-version.jar,按照这种理论我们就能得到dom4jrepository中真正的目录结构dom4j/dom4j/1.6.1/ dom4j-1.6.1.jar

另外针对我们常用的eclipseideaidemaven也都有对应的插件,这里以eclipse为例说明。
Eclipse下的插件叫做m2eclipse,官方地址是http://m2eclipse.sonatype.org/,安装方法和其他插件相同。
在线安装地址http://m2eclipse.sonatype.org/sites/m2e
这里需要注意,m2eclipse针对eclipse3.2插件的地址已经失效,而我用的恰恰是3.2版,正好我硬盘上有myeclipse8.x,为了不必要的麻烦,我直接使用8.x,因为我记得好像是在7.5以后的版本中集成了一款插件maven4myeclipse来辅助maven开发。
()
使用maven创建java项目
       cmd下面运行

mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –D packageName=org.jlqu1

会看到|

需要注意:如果是第一次用maven创建项目,速度可能会有点慢,因为maven是基于插件的,很多插件都是使用的时候才会从maven的插件库里去下载,从上图中也可以看到有downloading字样。
这个pom文件中的内容,大家望文生义都能理解,我只解释一下version,这个值对应到我们运行mvn package命令后在target文件夹下面得到的
javase-1.0-SNAPSHOT.jar
Maven有很多有用的命令,其中的mvn stie很有意思,运行成功后会在javase\target\下生成site文件夹,里面是一堆网页文件,打开index.html,是不是很熟悉呢?对了,他用apache官方的模板生成了一套关于我们自己项目的网站,很好玩~
Maven具体的命令,本文不作过多讲解,有兴趣的同学可以到官方网站看看,讲解非常详细。

有些同学可能想知道我们输入的命令到底是说明意思呢?
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javase –DpackageName=org.jlqu1
我来详细解释一下:
mvnmaven的命令
archetype:create表示创建一个项目,其中archetypemaven的一个插件,create是他的一个goal(maven插件的goal相当于anttarget)
-Djava用来设置属性的方式,请注意,它不是maven设置的。
groupId是项目所在的组名,你可以想象他就是org.apache…,这个组名主要有两个作用,其一是用来标识项目,其二是作为默认的包名,加入我们在上面的命令里没有输入–DpackageName=org.jlqu1,那么我们项目里的包就会使
com.jlqu
artifactId就是所创建的项目名称,在本例中可以看到项目名称就叫做javase
–DpackageName是指定包名。

如果需要将项目导入eclipse中,可以使用运行mvn eclipse:eclipse命令,完成后我们可以在项目根目录下看到熟悉的.classpath.project两个文件。

使用maven还可以进行添加依赖包、进行单元测试等操作,这些我们将会在本文最后的实例中通过可视化工具进行讲解,有兴趣深入研究的同学可以去查一下每步操作对应的命令。

()
创建一个web项目
mvn archetype:create -DgroupId=com.jlqu -DartifactId=javaweb -DarchetypeArtifactId=maven-archetype-webapp

分享到:
评论

相关推荐

    maven入门到精通

    maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...

    Maven入门到精通

    **Maven入门到精通** Maven,一个强大的Java项目管理工具,由Apache软件基金会开发,旨在简化构建过程,提供统一的构建系统,并通过依赖管理和项目信息管理,帮助开发者更高效地构建、测试和部署Java应用。它通过...

    Apache Maven入门篇(上)

    在“Apache Maven入门篇(上)”中,我们将探讨Maven的基本概念、安装步骤以及如何创建和管理一个简单的Java项目。 1. Maven的核心概念: - **POM(Project Object Model)**:POM是Maven项目的核心,是一个XML文件...

    Maven入门案例

    本篇文章将深入探讨Maven的入门知识,包括Maven的安装、配置、基本命令以及通过案例来理解Maven的工作原理。 首先,让我们从**Maven的安装**开始。在Windows系统中,你可以访问Maven官方网站下载最新版本的Maven,...

    HIbernate+Maven入门demo

    **Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...

    maven入门.docx

    ### Maven 入门详解 #### 一、Maven 概述与重要性 Maven 是一个流行的项目管理和整合工具,广泛应用于 Java 开发领域。它为开发者提供了完整的构建生命周期框架,帮助开发者简化项目的构建过程,使得项目的管理和...

    Maven+SpringMVC的入门级HelloWorld实例

    在IT行业中,Maven和SpringMVC是两个非常重要的组件,它们分别是项目管理和Web应用程序开发的核心...通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本用法,为进一步深入学习和实践打下坚实的基础。

    maven + springmvc 入门实例

    **SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...

    maven教案-maven入门学习资料

    【 Maven 概述】 在软件开发中,尤其是在Java领域,我们常常面临一系列问题,如环境配置差异、依赖管理混乱以及项目构建的繁琐等。这些问题在 Maven 出现后得到了很好的解决。Maven 是一个强大的项目管理工具,由 ...

    maven 入门demo

    ** Maven 入门指南 ** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过标准化项目构建过程,使得开发人员可以更轻松地管理依赖、构建、测试和部署项目。本教程将引导初学者了解 Maven 的...

    Maven入门指南.docx

    【Maven入门指南】 Maven是一个广泛应用于Java项目的强大构建工具,它自动化处理软件构建的多个环节,包括源码编译、文档生成、JAR包创建、依赖管理和部署。Maven的核心理念是通过项目对象模型(Project Object ...

    apache maven入门教程

    Apache Maven 是一个强大的项目管理工具,特别是在Java开发领域中,它替代了早期的ANT工具,提供了更为全面和便捷的项目构建和管理功能。Maven基于项目对象模型(Project Object Model,POM),能够自动化构建过程,...

    超详细Maven快速入门到精通.txt打包整理.zip

    标题"超详细Maven快速入门到精通.txt打包整理.zip"表明这是一个关于Maven的全面教程,涵盖了从基础到高级的各个方面,旨在帮助用户快速掌握Maven的使用。Maven是一个Java项目管理和综合工具,由Apache软件基金会开发...

    高效构建Java应用:Maven入门和进阶

    - [一、Maven简介和快速入门](#一Maven简介和快速入门) - [1.1 Maven介绍](#11-Maven介绍) - [1.2 Maven主要作用理解](#12-Maven主要作用理解) - [1.3 Maven安装和配置](#13-Maven安装和配置) - [二、基于IDEA的...

    Maven入门文档.doc

    【Maven是什么】 Maven是一个基于Java的构建工具,它旨在简化软件开发流程,特别是Java应用的构建。与Ant类似,Maven可以帮助开发者完成编译、测试、打包、发布等一系列重复性工作。Maven的核心目标是通过自动化...

    maven-javaweb入门

    ** Maven JavaWeb 入门详解 ** Maven 是一个强大的项目管理和依赖管理工具,尤其在JavaWeb开发中,它能够帮助开发者有效地构建、管理和部署项目。本教程将引导你了解如何使用Maven来构建JavaWeb应用程序,以"web...

    Maven入门培训

    Maven入门培训,基础讲解,ppt Maven入门培训,基础讲解,ppt

Global site tag (gtag.js) - Google Analytics