[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私服,原因很简单,有些公司都不提供外网给项目组人 ...
随机推荐
- 计蒜客NOIP模拟赛4 D1T3 小X的佛光
小 X 是远近闻名的学佛,平日里最喜欢做的事就是蒸发学水. 小 X 所在的城市 X 城是一个含有 N 个节点的无向图,同时,由于 X 国是一个发展中国家,为了节约城市建设的经费,X 国首相在建造 X ...
- 3064: Tyvj 1518 CPU监控
注意这题要维护历史最大加和历史最大覆盖 /************************************************************** Problem: 3064 Us ...
- [UOJ UNR#2 UOJ拯救计划]
来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 感觉这题有点神... 模数是6比较奇怪,考虑计算答案的式子. Ans=$\sum_{i=1}^{k} P(k,i)*ans(i)$ a ...
- [usaco6.1.1Postal Vans]
来自FallDream的博客,未经允许,请勿转载,谢谢. 给你一个4*n的棋盘,问从(1,1)出发恰好经过所有格子一次的走法数量.(n<=1000) 插头dp,用f[i][j][k]表示转移到第 ...
- 使用VMware Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦
使用VMware vCenter Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦 步骤一 检查 远程桌面到&quo ...
- easyui常见问题
EasyUi combobox 下拉列表JS添加首/尾选择项 下拉列表获取数据后,再动态添加一项数据项,如:"<option value=''>全部</option> ...
- 解决com.fasterxml.jackson.databind.JsonMappingException: No suitable
原因:直接翻译,json格式,不匹配. 这原因坑爹啊,因为json格式不正确算一种原因. 还有一种就是接收的bean没有getter,setter方法. 最坑的一种就是数据无法被反序列化,list,m ...
- java常用的几种线程池比较
1. 为什么使用线程池 诸如 Web 服务器.数据库服务器.文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务.请求以某种方式到达服务器,这种方式可能是通过网络协 ...
- SVN冲突解决
问题一.执行SVN commit时候,会生成除正常文件之外.mine..r3439 ..r3368的三个文件 .mine:是自己要提交的版本 .r3439:在别人之前提交的版本 .r3368:初始版本 ...
- pm2进阶使用
启用集群模式 只需要在启动应用时带上i参数 pm2 start app.js -i max max:意味着PM2将自动检测可用的CPU数量和运行多个进程可以在负载均衡模式(但是不推荐使用) 或者使用j ...