maven的安装配置超详细教程【含nexus】
1 下载
下载地址:http://maven.apache.org/download.cgi
界面效果如下:
点击之后进入的apache 软件基金的发布目录,在这里你可以下载apache的所有项目。
我们现在要下载maven,只需要找到maven目录就可以了。
找到maven目录进入之后的效果是下面这样的,我们想要下载3版本,就点击maven-3就可以了。
进去之后可以看到3系列的最新版本是3.5.3,
这里我们就使用最新版本3.5.3
这里在强调了maven3.5.3需要的jdk的版本是1.7及其以上。
下面贴上maven版本和jdk版本的对应关系表,方便参考。
进入maven-3.5.3目录,看到里面的目录结构如下:
binaries里面是安装文件,包括windows版本和linux版本两个安装文件
可以根据个人需要下载,我后文讲的windows上面的安装,所以下载的apache-maven-3.5.3-bin.zip文件
2 安装
maven的安装非常的简单,一步搞定。
解压下载的安装文件到一个没有中文没有空格的文件夹里,解压后的目录如下
3 Maven环境变量的配置
要配置 jdk, maven3.5.3 这个版本所需的 jdk 版本必须要 1.7 以上
最终要运行的是 maven 软件中 bin 目录的 mvn 命令
所以要配置 maven 的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是 maven 软件解压的目录E:\develop\maven\apache-maven-3.5.3
再path路径下面加入如下内容:%MAVEN_HOME%\bin
验证maven是否配置成功
打开dos命令行,输入mvn -v
出现下面的效果,说明安装成功。
4 Maven仓库
Maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A,项目B以及其它项目都活通过
Maven软件从远程(可以理解为互联网上的仓库)下载jar包并保存在本地仓库,本地仓库,就是本地
文件夹,当第二次需要这些jar包的时候,就不在需要从远程仓库下载,因为本地仓库以及存在了,
可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。
maven有三种仓库,它们分别是本地仓库,远程仓库,中央仓库。
1 本地仓库(自己维护)
1.本地仓库(自己维护):用来存储从远程仓库或者中央仓库下载的插件或者jar包,项目使用插件或者jar包的时候,优先从本地仓库查找。
默认位置${user.home}/.m2/repository 也就是:C:\Users\jepson\.m2\repository
2.远程仓库(公司维护)
如果本地需要插件或者jar包的时候,本地仓库没有,这个时候默认去远程仓库下载。
远程仓库可以在互联网上,也可以在局域网内。
3.中央仓库(maven团队维护)
在我们安装的maven软件中内置了一个远程仓库地址:http://repo1.maven.org/maven2,
它就是中央仓库,服务与整个互联网,它是由maven团队自己维护,里面存储了非常全
的jar包,它包含了世界上大部分流行的开源项目构建,统计数量至少超过2亿。
4. 配置本地仓库
新建一个名为repository的文件夹
在settings.xml文件中配置本地仓库的位置:
配置前:
配置后:
5. 三种仓库的关系
5 Maven插件在eclipse上的安装
我本地使用的eclipse mars 2 版本,此版本自带maven插件不用安装。
1 查看Maven插件是否存在
在新建窗口中可以看到maven项目的创建项,就表示maven插件以及存在。
2 指定maven的安装目录
在一些高版本的eclipse中已经安装好了maven插件,下图是eclipse mars 2吧呢不能中已经安装的
maven3.3.3版本,项目为了同意maven的版本不会使用eclipse内置的maven版本,这里我是使用
的maven3.5.3.
指定maven的安装目录,使用maven3.5.3版本。
3 User Settings配置
在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。
注意:如果修改了setting.xml文件,需要点击上图中的“update settings"按钮对本地仓库重建索引,点击Reindex.
4 eclipse中浏览maven仓库
maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览
maven本地仓库,怎说说明eclipse集成maven已经完成。
打开eclipse仓库视图,对插件和jar包建立索引。
找到Local repository本地仓库项,点击Reindex index重建索引。
重建索引完成后,即可查看本地仓库的内容:
6 私服
1 私服是什么?
公司在自己的局域网内搭建自己的远程仓库服务器,称为私服。
私服服务器即是公司内部的maven远程仓库,每个员工共的电脑上安装maven软件并且链接私服服务器,
员工将自己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)
私服还充当一个代理服务器,当私服上没有jar包,则会从互联网中央仓库自动下载。
2 为什么要安装私服?
正式的开发中,项目基本都是分模块开发的,不同的项目组负责开发不同的工程。
例如:A项目组负责maven-dao工程,开发完毕,发不到私服。
B项目组负责maven-service,就可以直接从私服下载dao.
7 搭建私服环境
Nexus是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构建搜索功能等。
1 下载
nexus下载地址:https://www.sonatype.com/download-oss-sonatype
界面效果如下:我下载的是windows版本的2.x,目前的最新版本是3.x
2 安装nexus
下载文件
解压上面的压缩文件到E:\develop\maven\nexus下,如下图:
解压完成之后,进入E:\develop\maven\nexus\nexus-2.14.8-01\bin
打开命令行进入当前目录,执行nexus.bat install
1.尽量以管理员的身份打开命令行
2.执行命令
3.查看nexus服务
3.卸载nexus
4.启动nexus
5.查看nexus的配置文件
6.访问
http://localhost:8081/nexus/
7 登录
使用nexus内置账户登录admin/admin123:
点击右上角的login in ,输入账号和密码登录
8.查看仓库
9.nexus的仓库类型
nexus的仓库有四种类型:
nexus仓库默认在sonatype-work目录中,
central:代理仓库,代理中央仓库。
8 将项目发布到私服
1 需求
2 配置
添加到settings.xml中
<server><id>releases</id><username>admin</username><password>admin123</password> </server> <server><id>snapshots</id><username>admin</username><password>admin123</password></server>
在setting.xml文件中找到一个<servers>的标签:
去掉中间的注释,然后将上面提供的代码拷贝到里面去:
注意上面的id是从下面这里来的
<distributionManagement><repository><id>releases</id><url>http://localhost:8081/nexus/content/repositories/releases/</url></repository> <snapshotRepository><id>snapshots</id><url>http://localhost:8081/nexus/content/repositories/snapshots/</url></snapshotRepository> </distributionManagement>
3 测试
将项目dao工程打成jar包发布到私服:
1.首先启动nexus
2.对bos-dao工程执行deploy命名。
根据本项目pom.xml中version定义决定发布到那个仓库,如果version定义为snapshot,
执行deploy后查看nexus的snapshot仓库,如果version定义为release则项目将发布到
nexus的release仓库,本项目将发布到snapshot仓库:
下面查看一下:
也可去本地查看:
如果想要将发布到私服的bos-dao.jar包删除, 只需将E:\develop\maven\nexus\sonatype-work\nexus\storage\snapshots
下的com/test/bos-dao删除即可。
9 从私服下载jar包
1 需求
2 管理仓库组
3.在setting.xml中配置仓库
打开setting.xml配置文件,找到里面的profiles标签,中间部分的注释内容可以全部删除掉,然后加入我们自己的内容。
配置完成后的效果:
<profiles><profile> <!--profile的id--><id>dev</id> <repositories> <repository> <!--仓库id,repositories可以配置多个仓库,保证id不重复--><id>nexus</id> <!--仓库地址,即nexus仓库组的地址--><url>http://localhost:8081/nexus/content/groups/public/</url> <!--是否下载releases构件--><releases> <enabled>true</enabled> </releases> <!--是否下载snapshots构件--><snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 --><pluginRepository> <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 --><id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile> </profiles>
使用profile定义仓库需要激活才能生效。
<activeProfiles><activeProfile>dev</activeProfile> </activeProfiles>
4 测试
首先我们将本地仓库中的bos-dao的jar包删除。
然后bos-service开始就会报错,提示确实了bos-dao.jar。
然后执行maven --->update project发现又好了,并且回到仓库中发现又有了bos-dao.jar
在maven-console也可以看到它会去我的私服上下载东西。
一个问题:是不是我们的bos-dao只要有改动就需要发布到私服上面去呢?
答:不是的,只有在bos-service模块需要dao开发新的工程的时候,才需要去改动的,并且需要注意的是,改动之后的版本号
也要改变,如果你还是用<version>0.0.1-SNAPSHOT</version>,bos-service也不知道你这是新的代码,就不会去私服上去下载。
因为和bos-service本地的版本号一直。所以有了修改之后,是要修改版本号的,比如<version>0.0.2-SNAPSHOT</version>.
这个时候只要bos-dao告诉bos-service团队我们的bos-dao发布了新版本,bos-service团队就可以去使用新版本0.0.2了。
转载于:https://www.cnblogs.com/jepson6669/p/9080488.html
maven的安装配置超详细教程【含nexus】相关推荐
- Git安装配置超详细教程
学无止境 Java工程师的进阶之旅 Git详细教程在这里 目录 一.下载 二.安装 三.配置 一.下载 1.进入Git官网 2.点击下载 二.安装 选择 Git 安装位置,要求是非中文并且没有空格的目 ...
- post修改服务器数据源,postgresql安装及配置超详细教程
1. 安装 根据业务需求选择版本,官网下载 初始化数据库 执行完初始化任务之后,postgresql 会自动创建和生成两个用户和一个数据库: linux 系统用户 postgres:管理数据库的系统用 ...
- 使用anaconda配置python3.6环境安装pyltp超详细教程,使用pycharm调用
使用anaconda配置python3.6环境安装pyltp超详细教程,使用pycharm调用 看了一堆网上的安装教程,有的写得太简单,有的太复杂,本菜鸡根本看不懂在说什么,看了好几篇才整明白是怎么回 ...
- mysql 5.720安装_MySQL 5.7.27下载安装配置的详细教程
前言 在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的小白,来安装MySQL数据库.目前官网上的My ...
- VMware虚拟机安装配置Android-x86详细教程
VMware虚拟机 安装配置Android-x86详细教程 工作环境:cn_windows_7_ultimate_with_sp1_x86 工具:VMware Workstation 10.0 and ...
- mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解
mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解 mybatis-generator自动生成带中文注释POJO类和增删改查,idea和eclipes都可以使用 MyC ...
- Intellij IDEA下载安装配置GIT详细教程 [超详细]
一.背景. 这篇文章主要介绍了IDEA配置GIT的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下. 二.IDEA配置GIT的详细教 ...
- windows下OpenCV的安装配置部署详细教程
零.简介 OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库.OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以 ...
- lamp 配置mysql_LAMP安装配置超详细讲解
LAMP 安装 配置 配置环境 操作系统:Redhat Enterprise AS 4 已安装包:httpd2.0.4, mysql4.1,libxml2.6.16, zlib1.2.1.2,gd2. ...
- vnc安装linux教程,Centos7安装配置vncserver详细教程
CentOS7安装配置vncserver教程 一.安装VNC 首先要保证目标服务器安装有图形化环境,Linux系统下常见的桌面环境有GNOME和KDE,这里我们首先通过Group的方式安装GNOME桌 ...
最新文章
- 比较高明的暗部提亮方法:选取暗部,滤色叠加
- 2020年Spring Cloud最后一个大版本发布!
- 【5分钟一本书】暗时间:用时间管理把握产品的进度条
- [云炬创业基础笔记]第四章测试18
- 多线程(6)线程同步
- UCMap移动GIS 时空地图GIS
- (一)低功耗设计目的与功耗的类型
- express中间件系统的基本实现
- UIKit 框架之UIControl
- sequence to sequence模型
- 20190608每日一句
- carrot2聚类的不同聚类算法 选用方法
- git报错:remote: warning: Large files detected. / 移动文件夹
- 华为手机记事本导出_你知道便签记事本在手机哪里储存吗?
- 网络安全等级保护工作流程
- 可视化大屏设计尺寸_UI设计中大屏可视化设计尺寸指南
- mysql 组织结构 支持_如何优化MySQL索引组织结构
- Firefox浏览器-渗透测试插件推荐
- 博弈论——重复博弈和制度建设
- LeetCode40 Combination Sum II 解析
热门文章
- 运动目标跟踪(五)--搜索算法预测模型之PF,KF,EKF,UKF比较总结
- jsp人事管理系统_人事管理系统(论文+源码)(SSH+MYSQL+JSP+HTML5)
- class.forname()中要写相对路径吗?_自考考试时间推迟,自考通过率会降低吗?
- presto查询报错
- 再论DataSet与DataFrame的区别
- Windows核心编程_注册表操作和小练习程序关联
- ping首包慢的问题(及icmp对应关系)
- 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Ng
- 从源代码安装PostgreSQL10.1
- sel - performSelector - NSSelectorFromString()