本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771

maven官网:http://maven.apache.org/

学习视频地址:http://www.icoolxue.com/album/show/45

5分钟学习maven:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

maven的一个中央仓库:http://mvnrepository.com/

本文作者:sushengmiyan

------------------------------------------------------------------------------------------------------------------------------------

一、何为maven,maven能做什么

maven是为了快速构建java项目二产生的一个项目。最初是描述建筑工程的,现在多数层面上,都是指java的构建。

maven可以提供一个统一的构建环境,使构建过程简单化,提供优质的项目信息,可以为最佳实践发展提供指导。

Maven鼓励最佳实践,但我们意识到,一些项目可能由于历史原因不符合这些理想。虽然Maven是设计灵活,在某种程度上,在这些情况下,不同的项目的需求,不能满足每种情况不作妥协的完整性目标。如果你决定使用Maven,一个不寻常的建造结构,你不能重组,你可能不得不放弃一些功能或完全使用Maven。

实际上,接触maven是在用其他信息的时候看到的,比如学习struts2,比如学习spring4比如学习shiro。在其官方网站上,提供的都是.pom配置文件的maven项目信息,不知道如何使用这些信息就不能很好的学习以上框架,所以,接触maven全是上述学习障碍迫使的。

通过刚刚接触maven,我发现其主要目的就是将我们平时需要导入的jar文件啊,或者其他依赖信息啊,通过pom文件,自动去中央库加载到项目库中,避免我们手动去添加。

二、maven的下载安装

maven下载地址:http://maven.apache.org/download.cgi

现在下载的版本是3.2.3

下载zip的绿色安装版本,解压到硬盘,然后添加到环境变量。

如下:

找到解压缩之后的文件夹中的conf目录下的settings.xml 修改本地仓库位置:

下载zip包,并解压缩

将maven添加到环境变量

测试安装效果:运行cmd,输入mvn出现如下信息即可表明安装成功

三、使用maven创建一个helloworld

在本地硬盘创建一个文件夹作为maven项目工作目录,cmd切换到这个目录,然后执行如下cmd命令:

mvn archetype:generate -DgroupId=maven.demo.start -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

看到执行一系列的下载download之后,出现了build success

可以看到你刚才建立的文件夹下的目录多了如下:

HelloMaven
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- maven
| `-- demo
| `-- start
| `-- App.java
`-- test
`-- java
`-- maven
`-- demo
`-- start
`-- AppTest.java

这就是maven自动创建的项目信息。

切换到刚才创建的项目的目录中,执行mvn package命令:

执行java -cp target/HelloMaven-1.0-SNAPSHOT.jar maven.demo.start.App命令:

可以看到,helloworld成功执行完成.

使用maven下载spring 4.2

在maven项目下,可以看到pom.xml文件

添加最新的spring依赖到pom文件中:

    <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>

执行mvn package

可以看到,下载到的spring jar包如下:


每个文件夹下都有对应的jar包。OK

四、使用myeclipse创建maven工程

在myeclipse中,选择新建工程的时候,选择other,找到maven

下一步,下一步,出现选择选择项目骨架的时候,我们先使用QuikStart来选择,后期可以根据个人项目需要选择web啊等骨架

点击finish即可完成。

运行的时候,选择.Pom文件,右键,选择run as maven build

在goal中写入compile,即可执行编译。右边有select按钮,可以选择你需要的命令。

总结一把:现在很多人说Spring网站改版了,jar包都不会下载了。其实学会了简单的使用maven,下载spring的jar包很简单哇。

[maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld的更多相关文章

  1. ROS学习笔记八:基于Qt搭建ROS开发环境

    1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...

  2. cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境

    cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...

  3. android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序

    一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...

  4. SpringMVC学习笔记一:采用注解式搭建简单springMVC环境

    搭建的环境使用的是maven项目 项目目录树: 搭建环境使用的jar包,pom.xml文件 <project xmlns="http://maven.apache.org/POM/4. ...

  5. 【Cocos2d-X开发学习笔记】第01期:PC开发环境的详细搭建

    本文使用的是cocos2d-x-2.1.4版本 ,截至目前为止是最新稳定版 所谓的开发环境就是制作游戏的地方,打个比方读者就会十分清楚了.比如提到做饭,人们都会想到厨房.这是 因为厨房有炉灶.烟机.水 ...

  6. [shiro学习笔记]第一节 使用eclipse/myeclipse搭建一个shiro程序

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/39519509 shiro官网:http://shiro.apache.org/ shi ...

  7. maven -- 学习笔记(三)之搭建nexus私服

    下载和安装nexus (1)官网链接http://www.sonatype.org/nexus/archived/ (直接点击下载链接,发现下载不了,FQ+迅雷就可以下载) (2)解压到指定文件夹,然 ...

  8. [struts2学习笔记] 第一节 关于struts2的简单认知

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40298287 官方文档:http://struts.apache.org/releas ...

  9. Maven学习(八)-- 使用Nexus搭建Maven私服

    摘自:http://www.cnblogs.com/xdp-gacl/p/4068967.html 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人 ...

随机推荐

  1. [JLOI2011]飞行路线

    Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并 ...

  2. 【BZOJ1026】【SCOI2009】windy数

    Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? In ...

  3. [UOJ UR#16]破坏发射台

    来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 先考虑n是奇数的情况,很容易想到一个dp,f[i][0/1]表示转移到第i个数,第i个数是不是第一个数的方案数,然后用矩阵乘法优化一下 ...

  4. bzoj3048[Usaco2013 Jan]Cow Lineup 尺取法

    3048: [Usaco2013 Jan]Cow Lineup Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 225  Solved: 159[Subm ...

  5. Cisco 交换机配置的基本命令

    1.不同的vlan 不同vlan需要路由 在路由的端口设置多个IP段 交换机模拟器实验六 2.查看端口名字 SWA#sh vlan    default  Active  F0/1, F0/2, F0 ...

  6. JPA 的 CascadeType 属性 和 FetchType属性 和 各种映射关系

    代码地址:https://gitee.com/a247292980/lgp20151222 CascadeType CascadeType.PERSIST级联新增(又称级联保存): CascadeTy ...

  7. angular+ionic前后端分离开发项目中的使用

    Ionic基于AngularJS构建而成,所以学习一些AngularJS的知识很有必要.Ionic并没有独立开发一套完整的Web应用框架,而是对AngularJS进行了扩展,给它添加了大量界面组件和其 ...

  8. 一口一口吃掉Hibernate(四)——多对一单向关联映射

    hibernate对于数据库的操作,全部利用面向对象的思维来理解和实现的.一般的单独表的映射,相信大家都没有问题,但是对于一些表之间的特殊关系,Hibernate提供了一些独特的方式去简化它. 今天就 ...

  9. DEV中svg图标的使用

    0.开始之前 先看看使用效果 在操作栏的使用: 在菜单中的使用 1.简述SVG图标 中文名:可缩放矢量图形 外文名:Scalable Vector Graphics 外语缩写:SVG 开发商:万维网联 ...

  10. Git 中 SSH key 生成步骤

    由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key. 第1步:创建SSH Key.在windows下 ...