[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私服,原因很简单,有些公司都不提供外网给项目组人 ...
随机推荐
- Linux命令-关机命令详解
关机命令:1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 10 10分钟后自动关机 如果是通过sh ...
- Mac下Git安装及配置
Mac下: 1.下载git版本并安装 运行终端 查看git版本: bogon:~ yan$ git --version git version 2.16.3 配置gitconfig文件 vim ~/. ...
- P2P技术概要
P2P(Peer to Peer)也就是 对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1] ,是对等计算模型在应用层形成的一种组网或网络 ...
- codeblocks设置背景主题
一. 首先进入codeblocks官网找到colour theme代码. codeblocks官网代码地址:http://wiki.codeblocks.org/index.php?title=Syn ...
- Padding Oracle攻击
最近在复现LCTF2017的一道题目,里面有一个padding oracle攻击,也算是CBC翻转攻击,这个攻击主要针对CBC加密模式的 网上有关这个攻击的博客文章很多,但是其中有一些细节可能是个人的 ...
- 地址四级联动的vue组件
一.效果图如下: 二.思路 主要在vue中结合 mint-ui组件的Picker和Popup方法,负责对json地址进行展示: 三.代码地址 四.说明 address4.json最好是在点击父组件的地 ...
- 读书学习-Python--描述符(python3)
转自我的知乎文章(https://zhuanlan.zhihu.com/p/32487852) 何为描述符?描述符就是实现了__get__.__set__和__delete__三者中任意一个的类.是用 ...
- 阻止Enter键回发到服务端Asp.net
//阻止enter键回发到服务端$(function () { $("input[type=text]").each(function () { $(this) ...
- Python中如何自定义一个计时器
import time as t class MyTimer(): # 初始化构造函数 def __init__(self): self.prompt = "未开始计时..." s ...
- Node.js JXcore 打包
Node.js 是一个开放源代码.跨平台的.用于服务器端和网络应用的运行环境. JXcore 是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线 ...