Maven - Maven速成
Maven
Maven是一个项目构建和管理工具,有助于开发者快速完成项目的配置,快速建立开发环境,从而提高开发效率。
- 管理项目构建(build)的生命周期(清理、编译、测试、打包、发布、部署、报告等)
- 使用标准的目录结构和默认的构建生命周期
- 解决和管理项目依赖
POM文件
- POM(Project Object Model,项目对象模型)
- POM文件是描述项目构建信息的XML格式文件,位于项目的根目录。
- 项目构建的关键信息,包括:项目代码、测试代码、资源、依赖的包等。
Maven的版本管理规范
- SNAPSHOT : 一般用于开发过程中,表示不稳定的版本。
- LATEST : 特定构件的最新发布,可能是SNAPSHOT版,也可能是RELEASE。
- RELEASE : 最后一个发布版。
Maven安装
以Window系统为例:
- 确认是否已安装JDK并配置系统变量JAVA_HOME
- 安装Maven,配置系统变量M2_HOME, 并将bin目录添加到系统path
- 运行mvn -version命令测试是否安装成功
- 修改Maven配置文件settings.xml添加本地Maven仓库
- 设置远程Maven仓库,例如:在无法访问国外远程仓库情况下设置阿里云镜像
Maven资源仓库
Maven资源库为依赖包提供来源。
如果本地仓库中的没有相应的依赖包,默认继续在中央或远程仓库查找,下载后会放到本地仓库。
- 中央仓库:Maven官方维护的仓库。
- 远程仓库:在远程服务器上建立的私有性质仓库,本质类似于中央仓库。
- 本地仓库:默认位于用户目录(windows:
C:\Users\<username>\.m2),包含下载的所有依赖包。 可通过设置setting.xml更改本地仓库目录。
添加本地Maven仓库
在Maven配置文件settings.xml标签下,可以添加本地Maven仓库。
例如:<localRepository>D:\DownLoadFiles\apache-maven-repo</localRepository>
设置远程Maven仓库镜像
可以在Maven配置文件settings.xml的部分,添加Maven远程仓库。
示例:设置阿里云镜像
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
Maven资源仓库地址
阿里云(国内):
- http://maven.aliyun.com/nexus/
- http://maven.aliyun.com/nexus/content/
- http://maven.aliyun.com/nexus/content/groups/public/
Mavern官方
其他
- http://mvnrepository.com/ (推荐)
- http://uk.maven.org/maven2/
- http://www.sonatype.org/nexus/
- https://maven.java.net/content/repositories/public/
在Maven资源仓库中可以查找到相关jar包的详细信息, 例如在http://mvnrepository.com/站点可以查找到jar包的版本/标签等信息.
在Eclipse中使用maven插件
Eclipse安装maven插件
当前Eclipse版本均已默认集成了标准maven插件。
如果需要更新或者安装其他相关插件,可以按照如下方法操作:
方法1:
菜单Help ---》Eclipse Marketplace,搜索maven关键字,选择安装对应的Maven插件。
方法2:
- 菜单Help ---》Install New Software...
- 输入栏Work with ---》输入“http://download.eclipse.org/releases/<Eclipse对应版本名称>”,得到Eclipse对应版本的所有插件列表
- 输入栏type filter text ---》输入“maven”,过滤得到maven相关插件列表
- 选择需要的插件进行安装,安装完成后重启eclipse
- 菜单Window ---》Preferences窗口 ---》Maven,进行相关设置
方法3:
- 菜单Help ---》Install New Software...
- 输入栏Work with的Add按钮 ---》 Name输入“m2e”,Location输入“http://download.eclipse.org/technology/m2e/releases”
- 选择需要的插件进行安装,安装完成后重启eclipse
- 菜单Window ---》Preferences窗口 ---》Maven,进行相关设置
方法4:
新版本的Eclipse均已默认集成了标准maven插件,升级Eclipse的同时,也就升级更新了maven插件。
通过Eclipse升级的方法,可以避免重新下载安装其他插件。
Eclipse配置Maven插件
- Window ---》Preferences ---》Maven ---》Installations ---》add,选择Maven安装目录,点击OK
- Window ---》Preferences ---》Maven ---》UserSettings
User Settings : 修改为配置文件settings.xml的路径
Local Repository :自定义的仓库目录,会自动更新为配置文件settings.xml里所写的路径
Eclipse创建Maven工程
- File ---> New ---> Maven Project
- 勾选"Create a simple project"和"Use default Workspace location" ---> Next
- 设置必要的项目参数, 然后点击Finish创建Maven工程
- Group Id : 项目组织的唯一标识符,实际对应JAVA的包结构,一般都是组织域名的反写形式
- Artifact Id : 项目的唯一标识符,实际对应项目的名称,就是项目根目录的名称
- Version : 项目的版本
- Pacaking : 项目的打包方式,默认为jar
- Name : 项目的可读名称
- Description : 项目的描述
- 创建完成后,项目的默认文件结构:
pom.xml 核心配置,位于项目根目录
src/main/java 源文件(不包含测试)目录
src/main/resources 资源文件目录
src/test/java 测试源文件目录
src/test/resources 测试资源文件目录
target/classes src/main/java目录下源文件编译出来.class文件
target/test-classes src/test/java目录下源文件编译出来.class文件
target 构建过程中的临时目录,构建包会生成在这里
Eclipse使用Maven进行构建
在Maven项目右击 ---> Run As, 选择对应的Maven操作进行构建。
参考信息
- Maven核心原理
- Maven教程:https://www.yiibai.com/maven/
- 官方教程:http://maven.apache.org/guides/getting-started/index.html
Maven - Maven速成的更多相关文章
- [Maven]Maven 那点事儿
0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...
- [Maven]Maven入门教程
概念 Maven是什么 Maven 是一个项目管理工具.它负责管理项目开发过程中的几乎所有的东西. 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应 ...
- [Maven]Maven安装简述
maven安装简述 1检查jdk安装 1.1cmd输入echo %JAVA_HOME%检查JAVA_HOME是否指向了正确的jdk安装目录 1.2cmd输入java-version检查window是否 ...
- [Maven]Maven非常详细完整的教程
请参考:http://blog.csdn.net/u012152619/article/category/6239920 第四部分已看完 另外也可参看简书:http://www.jianshu.com ...
- [Maven]Maven详解
转自:http://www.cnblogs.com/hongwz/p/5456578.html 一.前言 以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar ...
- [maven] maven变量
Maven内置变量说明: $${project.basedir}或{basedir} 项目根目录,即包含pom.xml文件的目录 ${project.version}或${version}表示项目版本 ...
- Maven——Maven核心概念
原文:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...
- some knowledge of maven {maven实战}
maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.------------------------------ ...
- Maven - Maven基础
1-下载及安装 1.1 - Maven - 项目管理利器 http://maven.apache.org/ Apache组织的开源项目. Maven是一个基于POM(Project Object Mo ...
随机推荐
- 社区发现(Community Detection)算法(转)
作者: peghoty 出处: http://blog.csdn.net/peghoty/article/details/9286905 社区发现(Community Detection)算法用来发现 ...
- 机器学习笔试--LeetCode
#########简单######### 共25道: 1. 两数之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例 ...
- 吓死baobao了
早上远程连接服务器连不上,后面重启服务器,显示进入紧急修复模式:welcome to emergency mode!after logging in ,type “journalctl -xb” to ...
- Linux+mysql+apache+php
1.1.1 所需软件 cmake ncourse mysql apr apr-util pcre apache php 1.1.2 解压缩软件 ...
- s4-2 ALOHA 协议
多路访问协议 随机访问协议(Random Access) 特点:站点争用信道,可能出现站点之间的冲突 典型的随机访问协议 • ALOHA协议 • CSMA协议 • CSMA/CD协议(以太网采 ...
- redis.conf之save配置项解读
配置示例: save 900 1 save 300 10 save 60 3600 配置解读: 1) “save 900 1”表示如果900秒内至少1个key发生变化(新增.修改和删除),则重写rdb ...
- Swift:用UICollectionView整一个瀑布流
本文的例子和Swift版本是基于Xcode7.2的.以后也许不知道什么时候会更新. 我们要干点啥 用新浪微博的Open API做后端来实现我们要提到的功能.把新浪微博的内容,图片和文字展示在colle ...
- 批量插入,批量修改的sql
sql 1 批量插入 <insert id="batchInsert" useGeneratedKeys="true" parameterType=&q ...
- 04:第一个OC类
1.类与对象的关系 面向对象的核心就是对象,那怎么创建对象? OC中创建对象比较复杂, 首先要理解一个概念叫做类. 现实生活中是根据一份描述,一份模板创建对象,编程语言也一样,也必须先有一份描述,在这 ...
- 怎样去写线程安全的代码(Java)
使用多线程就可能会存在线程安全的问题.很多 java 程序员对写多线程都很挣扎,或者仅仅理解那些是线程安全的代码,那些不是.这篇文章我并不是详述线程安全,详述同步机制的文章,相反我只是用一个简单的非线 ...