[maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld
本文地址: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的更多相关文章
- ROS学习笔记八:基于Qt搭建ROS开发环境
1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...
- cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境
cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
- SpringMVC学习笔记一:采用注解式搭建简单springMVC环境
搭建的环境使用的是maven项目 项目目录树: 搭建环境使用的jar包,pom.xml文件 <project xmlns="http://maven.apache.org/POM/4. ...
- 【Cocos2d-X开发学习笔记】第01期:PC开发环境的详细搭建
本文使用的是cocos2d-x-2.1.4版本 ,截至目前为止是最新稳定版 所谓的开发环境就是制作游戏的地方,打个比方读者就会十分清楚了.比如提到做饭,人们都会想到厨房.这是 因为厨房有炉灶.烟机.水 ...
- [shiro学习笔记]第一节 使用eclipse/myeclipse搭建一个shiro程序
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39519509 shiro官网:http://shiro.apache.org/ shi ...
- maven -- 学习笔记(三)之搭建nexus私服
下载和安装nexus (1)官网链接http://www.sonatype.org/nexus/archived/ (直接点击下载链接,发现下载不了,FQ+迅雷就可以下载) (2)解压到指定文件夹,然 ...
- [struts2学习笔记] 第一节 关于struts2的简单认知
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40298287 官方文档:http://struts.apache.org/releas ...
- Maven学习(八)-- 使用Nexus搭建Maven私服
摘自:http://www.cnblogs.com/xdp-gacl/p/4068967.html 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人 ...
随机推荐
- UVA - 11732:"strcmp()" Anyone?
字典树问题 对于普通的字典树,可以加一个vector数组记录非空的孩子,加快速度 还可以用左孩子右兄弟来节省空间,因为普通的trie的话是 int next[MAXN][26] 而左孩子右兄弟可以把[ ...
- hdu 5750 Dertouzos 素数
Dertouzos Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
- poj 1811 随机素数和大数分解(模板)
Sample Input 2 5 10 Sample Output Prime 2 模板学习: 判断是否是素数,数据很大,所以用miller,不是的话再用pollard rho分解 miller : ...
- hdu 5493 (树状数组)
题意:在一个队列中,你知道一个人在他左边或者右边比他高的人的个数,求字典序最小的答案 思路:先将人按 矮-->高 排序,然后算出在每个人前面需要预留的位置.树状数组(也可以线段树)解决时,先二 ...
- hdu 5465 (树状数组 + 博弈)
题意:基于矩阵的NIM游戏,求异或和. 思路:在x1,y1 到 x2, y2的异或和 = A[ x2 ][ y2 ] ^ A[x1-1][ y2 ] ^ A[ x2 ][y1 - 1] ^ A[ x ...
- 有源汇上下界可行流(POJ2396)
题意:给出一个n*m的矩阵的每行和及每列和,还有一些格子的限制,求一组合法方案. 源点向行,汇点向列,连一条上下界均为和的边. 对于某格的限制,从它所在行向所在列连其上下界的边. 求有源汇上下界可行流 ...
- SpringCloud学习之Zuul统一异常处理及回退
一.Filter中统一异常处理 其实在SpringCloud的Edgware SR2版本中对于ZuulFilter中的错误有统一的处理,但是在实际开发当中对于错误的响应方式,我想每个团队都有自己的处理 ...
- java 实现WebService
1.xml 2. wsdl: webservice description language web服务描述语言 通过xml格式说明调用的地址方法如何调用,可以看错webse ...
- UDA机器学习基础—评估指标
这里举例说明 混淆矩阵 精确率 召回率 F1
- 基于SSM框架实现简单的登录注册
一.环境配置 工程目录 在pom.xml添加依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...