本文地址: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. 计蒜客NOIP模拟赛D2T2 直线的交点

    伦伦刚刚在高中学习了解析几何,学会了计算两条直线的交点.这天,老师给她布置了一道作业.在平面上有 nnn 条直线,他们之间有若干交点.给定一对平板(两条平行的直线),问这有多少对直线,他们的交点在这一 ...

  2. bzoj 5285: [Hnoi2018]寻宝游戏

    Description Solution 把输入的 \(n\) 个二进制数看作一个大小为 \(n*m\) 的矩阵 把每一列压成一个二进制数,其中最高位是最下面的元素 然后就有了 \(m\) 个二进制数 ...

  3. ●BZOJ 1934 [Shoi2007]Vote 善意的投票

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1934 题解: 题目有点迷. S向为1的点连边,为0的点向T连边,在有关系的两个点之间连双向边 ...

  4. hdu 5011(博弈)

    题意:在许多堆石子中,两人轮流取,1.在一堆中取至少一个  2.将这一堆分成两堆 思路:NIM游戏,所有值的异或,当其为0时失败 nim游戏: 假设只有两堆,游戏人取得胜利并不在于N1和N2的值具体是 ...

  5. POJ 3261 可重叠k次最长重复子串

    Milk Patterns Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 13127   Accepted: 5842 Ca ...

  6. 如何在Windows系统中设置Python程序定时运行

    文章出处:http://blog.csdn.net/wwy11/article/details/51100432 首先,我们肯定是要用到Windows下的[计划任务]功能 之后点击右侧的[创建基本任务 ...

  7. SpringMVC 处理映射

    一.Spring MVC控制器名称处理映射 以下示例展示如何利用Spring MVC 框架使用控制器名称处理程序映射. ControllerClassNameHandlerMapping类是基于约定的 ...

  8. 自然语言处理工具:中文 word2vec 开源项目,教程,数据集

    word2vec word2vec/glove/swivel binary file on chinese corpus word2vec: https://code.google.com/p/wor ...

  9. 阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经

    在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助. 个人情况:EE方向渣硕,二月末内推了阿里集团某部门Java岗,约三周完成了所有面试. 面经如下: 一面 (简历评估): ...

  10. Golang学习笔记:channel

    channel channel是goroutine之间的通信机制,它可以让一个goroutine通过它给另一个goroutine发送数据,每个channel在创建的时候必须指定一个类型,指定的类型是任 ...