鸣谢 

 最近,开发中要用到maven,所以对maven进行了简单的学习。因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧。关于maven是什么东东,请参考其它文章。

----------------准备工作-------------

Jdk  1.5以上java开发环境。

Eclipse IDE 一个。

Maven 3.0.3下载地址: http://maven.apache.org/docs/3.0.3/release-notes.html

----//快速搭建步骤

第一步:配置maven环境

将下载文件解压,然后设置maven环境

如果你配置过jdk的话,这里对你应该不难。如我的maven环境为:F:\maven\apache-maven-3.0.3

我的电脑-----属性----高级-----环境变量-----环境变量-----新建

变量名:M2_HOME

变量值:F:\maven\apache-maven-3.0.3

找到path

在环境变量值尾部加入:;%M2_HOME%\bin;---前面注意分号

当然,你也可以直接在path 路径下加入:;F:\maven\apache-maven-3.0.3\bin  只是上面的方式更优雅一点。

我新建立

打开命令提示符(开始---运行---cmd),检查我们的java环境和maven环境是否有误。

第二步:修改仓库位置

修改我们仓库地址,仓库用于存放我们项目所依赖的所有jar包。

我的仓库路径:F:\maven\repo----这个路径是我自己创建,你可以将路径创建在任何位置。

我们打开…\apache-maven-3.0.3\conf\目录下的setting.xml文件,设置成我们创建的仓库路径

下面我们用一个命令验证一下。打开命令提示符,输入:mvn help:system

该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。

如果运行的过程中没有错误,打开我们仓库(F:\maven\repo)会发现里面多了一些文件。这些文件就是我们从maven的中央仓库下载到本地仓库的。

第三步:创建maven项目

创建一个我们自己的项目。

我们通过maven命令行方式创建一个项目

mvn archetype:create -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0

因为是第一次构建项目,所有依赖的jar包都要从maven的中央仓库下载,所以需要时间等待。等以后我们的本地仓库中积累了我们常用的jar包后,我们的开发将变得非常规范和方便。^_^!!

借助下载jar包的时间,我们来了解一下pom.xml文件。

<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.chongshi.test</groupId><artifactId>hello</artifactId><version>1.0</version><packaging>jar</packaging><name>hello</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>

Ø project:pom.xml文件中的顶层元素; 
Ø modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
Ø groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。

Ø artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。

Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。

Ø name:项目的显示名称,通常用于maven产生的文档中。

Ø url:指定项目站点,通常用于maven产生的文档中。

Ø description:描述此项目,通常用于maven产生的文档中。

对于一个项目中只有下面的一部分是是我们需要关注的:

<groupId>com.chongshi.test</groupId>

<artifactId>hello</artifactId>

<version>1.0</version>

第四步:编译项目代码

我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。

在命令提示符下进入到我们的创建的项目目录(F:\maven\hello)下,执行:mvn clean compile

Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。

不要急,我们又需要一段时间来下载,相关jar包。^_^!第一次用maven要学会淡定。

项目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse

命令执行完成后就得我们需要的项目目录了。

第五步:导入eclipse工具

打开的我们的eclipse工具。

先配置maven仓库路径

Window----Perferences-----java-----Build Path-----Classpath Variables

New一个变量的类路径。

Name :M2_REPO   注意这个名字必须要大写。

Path :F:/maven/repo  点击“Folder…”找到有本地仓库的位置。

下面,可以导入我的hello项目了。Eclipse如何导入项目,我这里就不说了,如果你是个java开发人员的话。

第六步:包的更新与下载

打开项目发现我们junit 是3.8.1的,有点老了。那我想换成4.7的,如何通过maven的方式更换呢。其实,很简单,打开我们项目下的的pom.xml文件。

……
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.1</version><scope>test</scope></dependency></dependencies>
……

更改变,junit的版本号,然后重新执行:mvn eclipse:eclipse

Maven 中央仓库地址:http://search.maven.org

假如,我们想下载一个struts 的jar包。在搜索框内搜索strruts ,会要列出中央仓库中的所有struts版本。

列表的格式与我们pom.xml配置文件的格式是对应的。

我们在pom.xml中加入:

<groupId>stuts</groupId>

<artifactId>struts-scripting</artifactId>

<version>1.0.1</version>

然后更新项目就可从中央仓库下载我们想要的任意jar包(必须是开源的包)

继续学习内容:

1. 如何创建一个web项目?

  如果想让maven应用到项目开发中,这个是必须的。

2. 如何使用jeety?

  maven提供的一个容器,类似于tomcat

3. 如何创建一个代理仓库?

  如果是团队开发,这个很有必要,我们不可能每次都到中央仓库拿包,那样很慢,如果开发人员A已经下了某包,开发人员B还要下;创建代理仓库,A第一次下的包会存入代理仓库中,B要用时直接从代理仓库取就行。

maven教程一:快速搭建相关推荐

  1. 手把手教你快速搭建私服环境

    手把手教你快速搭建私服环境,简单实用,一看就懂 1.准备工作:先下载Nxus Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库 ...

  2. JAVA学习:maven开发环境快速搭建How to download J2EE API (javaee.jar) from Maven

    http://tech.it168.com/a2011/1204/1283/000001283307.shtml [IT168技术]最近,开发中要用到maven,所以对maven进行了简单的学习.因为 ...

  3. JAVA学习:maven开发环境快速搭建

    最近,开发中要用到maven,所以对maven进行了简单的学习.因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧.关于maven是什么东西,请参考其它文章. 准备工作 Jdk 1 ...

  4. 手把手教你快速搭建一个代码在线编辑预览工具

    简介 大家好,今天我跟大家分享的是一个代码在线编辑预览工具的实现教程,手把手教你完成这样一个项目. 目前这类工具使用很广泛,常见于各种文档网站及代码分享场景,相关工具也比较多,如codepen.jsr ...

  5. NVIDIA专家实战演示,教你快速搭建基于Python的车辆信息识别系统

    主讲人 | 何琨 英伟达 量子位编辑 | 公众号 QbitAI 随着智慧城市.自动驾驶的快速落地,车辆的检测和识别应用场景非常广泛,如车牌识别.车流统计.车辆属性识别等. 近日,在英伟达x量子位发起的 ...

  6. 保姆级教程教你快速搭建属于自己的AI绘画系统!(收藏)

    Midjourney收费高.无法支付,且生成想要的图片受限,风格固定,如果能够10分钟快速搭建属于自己的AI绘画系统,并且对电脑配置无要求,你心动了吗? 先来看看AI系统构建完成后的画面,只需要输入自 ...

  7. 手把手教你快速搭建个人博客 Hexo + Github

    平时学习查找资料发现了很多个人博客,搭建的很不错,一直想抽空自己也动手实践一下,正好趁着新型冠状肺炎这段宅在家的空,赶紧搭建一下自己的个人博客 先来预览一下博主的个人博客:Fly's Blog 动手能 ...

  8. 手把手教你快速搭建 EOS 主网见证人节点(BP)

    EOS主网启动至今已经超过一个月,然而截至当前,注册成为EOS Block Producer(大家习惯称为见证人)的账号仅有393个,活跃的EOS BP节点更是仅有376个,远远不如EOS主网上线前我 ...

  9. 手把手教你快速搭建SSM框架

    文章目录 前言 一.创建一个工程 二.补充结构 1.引入Jar包 2.完善层级结构 三.创建层:dao.service和controller 1.创建对应表的实体类,需要set.get.toStrin ...

  10. 【产品实操】三分钟教你快速搭建字符识别CNN模型

    深度学习中最令人兴奋的领域之一就是计算机视觉.通过卷积神经网络CNN(Convolutional Neural Networks),我们已经能够创建自动驾驶系统.面部检测系统和自动医学图像分析等.但如 ...

最新文章

  1. 2019机器学习比赛_2019顶尖的机器学习课程
  2. 如何获取空对象的类型
  3. 腾达路由器dns服务器未响应,腾达路由器的设置方法
  4. Table隔行变色的JavaScript代码
  5. Test 2018-07-19 二中集训
  6. mysql跳过安全_几年了,作为一个码农终于把MySQL日记看懂了!
  7. erlang的简单模拟半包的产生
  8. .Net Remoting与Web Service
  9. Python内置函数一览表
  10. Air202掉坑日记(1)——烧录固件(AT版本)
  11. CSS 字体新玩法之彩色字体
  12. 有没有开以修改服务器游戏数据,剑网3指尖江湖第二批服务器数据互通啦 来看看有没有你所在的大区...
  13. 斜杠【/】 与 反斜杠【\】
  14. 离散数学期末复习-基本回路系统和基本割集系统
  15. 卷积神经网络图像分类的性能评估指标有哪些
  16. 小萨村的激光SLAM学习笔记
  17. BME相关SCI期刊
  18. 海盗湾联合创始人在瑞典被判入狱两年
  19. 输入多组字符数组c语言,c语言怎样能连续输入多个一维数组
  20. 科技周刊第三期:人脸识别技术给我们带来的便利和风险

热门文章

  1. Nginx的安装、启动、停止命令
  2. Java虚拟机(JVM)初探
  3. RTX——第13章 事件标志组
  4. ios UISegmentedControl的使用简介
  5. jQuery数据缓存功能的解析及简单实现
  6. 服务器互相备份不同步_94爱分享拍了拍你,这款好用的数据同步备份软件千万不要错过!...
  7. python通讯录文件读取_python通用读取vcf文件的类(可以直接复制粘贴使用)
  8. opencv中Mat、CvMat和IplImage的相互转化
  9. 以.a(a为后缀)的文件类型是啥鸭?
  10. 理解 loss function : binary cross entropy