Maven初步学习

很早就听说过Maven这个名词,当时就知道是一个项目管理工具,用来管理Jar包,认识的比较肤浅。这次看了下视频,简单学习了下,对其的理解更加深刻了。先来看一下简单的Maven基础知识。

Maven是Apache基金会下的一个用来管理项目的工具。Maven是基于项目对象模型(

POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

SVN大家应该都非常熟悉,是版本管理工具,对某一个项目进行时间轴方面的管理,从1.0,1,1……2.0,2.1…… 可以看做是纵向的管理,但是svn中项目与项目之间是相互独立。也就是说SVN很难管理项目与项目之间的变化。例如:一般一个大的公司都会有很多项目,项目之间的Jar包有重复的,项目和项目之间可能有共同的部分,例如权限控制部分,在或者说这个项目可能用到那个项目的某些功能模块等等,这是SVN就很难办到了。而Maven的出现在是为了解决这个问题的吧。我的理解:Maven是一款建立在多项目之上的工具,用来维护多个项目之间的共同的部分(例如常用Jar包,共同模块(其实是自己开发的Jar包)),依赖关系(项目之间的相互关系),属于横向的管理。和SVN互补,两者共同使用来管理多个项目,使各个项目有条不紊进行的各自成长,并从其他哪里进行着不同的来往。看吧,其实就和我们人类一样,需要年龄的成长,也需要人际关系的拓展。 好了废话少话,看看Maven的安装简单使用吧。

一,Maven的安装:

1,前提:安装好了JDK,并进行了环境变量的配置;

2,下载安装:到官方网站:http://maven.apache.org/download.cgi 进行Maven的下载,下载后解压即可完成(最好在英文目录下)。

3,配置:

1),环境变量:和配置JDK环境变量一样,在用户变量中添加MAVEN_HOME=D:\maven\apache-maven-3.1.1,然后修改PATH,在配置中添加%MAVEN_HOME%\bin;即可。然后在运行窗口中输入mvn -version  ,出现maven的相关版本号信息,即表明已经安装好。

2),本地仓库的配置:

maven默认会在根目录下建立 .m2做为本地仓库。这里我们需要修改conf下的setting.xml文件(maven的配置都需要在这里进行配置),设置本地仓库的路径:

 <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>D:/maven/repo</localRepository>

这样我们的本地仓库就设置在了D:/maven/repo,下载的jar包就到这个里边了。当然我们在这个配置文件也可以设置中央仓库(也就是apache提供远程仓库,几乎囊括了常用的所有jar包),私服等。在这个文件都有注释的实例,我们耐心的看看英文即可。

例如配置Nexus私服为镜像,所有的依赖都会在这里找:

二,Maven项目的建立:

1,首先eclipse中配置Maven,需要配置根路径和setting文件即可,看这两张图:

 然后就可以建立Maven Project了。注意几点:

1,项目的坐标:

groupId:用来表示项目的名称;

artifactId:用来表示项目的模块名,建议使用项目的名称——模块名称来表示;

version:项目的版本号

2,建立项目的结构:

源代码应该放置到src/main/java中

源代码的资源文件应该放置在src/main/resources文件夹中

测试代码应该放置到src/test/java中

测试代码的资源文件应该放置在src/test/resources文件夹中

3,Pom.xml的文件的简单编写,这里主要编写引用的jar包,和其他项目之间的依赖,jar包的dependency的GVA可以到http://mvnrepository.com 查询

4,最后看一下maven项目的几个常用命令:

mvn clean -->表示运行清理操作(会默认把target文件夹中的数据清理)

mvn clean compile-->表示先运行清理之后运行编译,会见代码编译到target文件夹中

mvn clean test-->运行清理和测试

mvn clean package-->运行清理和打包

mvn clean install-->运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用

mvn clean deploy-->运行清理和发布(发布到私服上面)

这就是Maven的本地的安装及项目的简单使用。但是在项目中我们还需要Nexus私服,进行项目的本地管理,方便没网的状态,而且脱离对中央仓库的依赖,下篇博客进行介绍。Maven学习,需要在实践中不断积累,这里推荐学习资料:http://juvenshun.iteye.com/

时间: 2024-11-08 23:58:19

Maven初步学习的相关文章

Java深度历险(三) Maven初步学习

这几天接触这个词,很多遍了,只是浅显的体会到它在GXPT中的好处,功能之强大,又通过网络查询了资料进一步的认识学习了,和大家分享. Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 在gxpt中的体现 1. 父子关系 一个多模块项目通过一个父POM 引用一个或多个子模块来定义. a. 在父目录中分别创建子项目 b. 父项目,通过以下配置,将子项目关联: 如下: <span style="font-size:18px;"

SSH深度历险(四) Maven初步学?

这几天接触这个词,非常多遍了,仅仅是浅显的体会到它在GXPT中的优点,功能之强大,又通过网络查询了资料进一步的认识学习了,和大家分享. Maven是基于项目对象模型(POM),能够通过一小段描写叙述信息来管理项目的构建,报告和文档的软件项目管理工具. 在gxpt中的体现 1. 父子关系 一个多模块项目通过一个父POM 引用一个或多个子模块来定义. a. 在父文件夹中分别创建子项目 b. 父项目,通过下面配置,将子项目关联: 例如以下: <span style="font-size:18px

LinQ的初步学习与总结

嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单啦,下面就全面的总结一下LinQ的其中一部分,LinQ有三部分:LinQ TO Object:LinQ TO SQL ;LinQ TO XML.而在这里我先来总结一下LinQ TO Object的学习吧 一.初步认识LinQ to Object static void Main(string[] a

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

初步学习C++:C++的基本概念

开始学习C++,先从最基本的概念开始,让自己有一个系统的知识概念. 1.对象: 在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体.对象可以认为是:数据+操作(对象所能完成的操作表示它的动态行为,也成为方法). 2.类: 在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,类是对具有相同数据结构和相同操作的一类对象的描述. 3.消息: 在面向对象程序设计中,一个对象向另一个对象发出的请求被称为"消息".当对象接收到发向它的

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require('fs'); 2 var tel = [ 3 "1/2/4/6/a.tpl.html", 4 "1/2/4/7/9/c.tpl.html", 5 "1/3/5/8/b.tpl.html"]; 6 var demo = function (mulu)

状态保持以及AJAX的初步学习

嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项目期,今天下午学习了ajax,这个使用javascript写起来还是蛮麻烦的,嘿嘿,但是使用jquery实现是非常的简单的,不知道是不是由于我刚接触的原因,下面来总结一下今天学习的内容,感觉今天学习的还是很有必要详细总结的,因为在以后的项目中还是经常会使用的. 一.状态保持 1.cookie的添加与

Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕. 下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> Web Project 到此为止一个Maven标准的Web工程创建成功了. 添加Maven的标准目录: 右键单击项目名称-->New-->Source Folder 到此为止添加Maven的契约目录完毕. 右键单击项目名称-->Build Path-->Configure Build Path

Jquery Easy UI初步学习(三)数据增删改

第二篇只是学了加载用datagrid加载数据,数据的增删改还没有做,今天主要是解决这个问题了. 在做增删改前需要弹出对应窗口,这就需要了解一下EasyUi的弹窗控件. 摘自:http://philoo.cnblogs.com/ 我的理解,就是panel有的属性Window.dialog都有,同时保留自己的扩展属性方法 , 所以主要展示pannel的属性. Pannel 属性 名称 类型 说明 默认值 title string 显示在Panel头部的标题文字. null iconCls strin