window安装nexus和配置
原文
http://www.cnblogs.com/fxmemory/p/7133672.html
一. 认识mav仓库
1.1 maven仓库的作用
回想之前不用maven的时候,我们用eclipse原始的项目骨架构建项目时,在工程目录下往往有一个lib文件夹用来存放工程所需jar文件,每次建一个新工程时都会有这样一个lib文件夹。然后将jar复制进lib文件夹配置路径,很显然有大量的重复工作,而且不同项目所用jar包不尽相同,需要我们慢慢去分辨。而后我们用了项目管理工具比如svn或者git,我们需要把把大量的jar文件引入代码库,这也不是一件很合适的事。
而maven能够帮我们解决这些问题,maven仓库是专门用来存放jar文件的位置(也可以用来存放项目war,zip,pom等文件)。maven仓库中为每个jar文件分配了一个坐标,比如jstl的jar包:
<groupId>javax.servlet</groupId> 组ID
<artifactId>jstl</artifactId> 构建ID
... 其余属性后续介绍
这样做的话,maven能很方便的进行项目依赖版本的控制。简单说maven仓库就是帮我们统一管理项目构件。
1.2 maven仓库分类
项目构建的查询路径:首先查询本地仓库,未找到就会查询中央仓库,没找到就会报错。中央仓库地址有:
- http://www.sonatype.org/nexus/ 私服nexus用
- http://mvnrepository.com/ 推荐使用
- http://repo1.maven.org/maven2
上面三个是较为常见的,也是项目中使用较多的,但是由于下载速度太慢,并且仓库的jar文件不完整,实际企业开发需要我们搭建私服仓库。
二. 安装使用nexus
这里注意搭建maven私服不仅仅只有这一种工具。博主用的版本是nexus-2.12.0。
下载:https://pan.baidu.com/s/1HyXUWncUo7K909oTZ4CXfw,密码: 8mel
- 下载完成后解压即可,解压完成到目录nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin\jsw下可以看到:
- 博主电脑是64位所以打开最后一个文件夹:
- 点击第二个bat文件设置为windows服务,开启nexus后访问网址:http://localhost:8081/nexus/启动后打开如下页面,即代表nexus安装并启动成功。
三. 配置maven私服
- 点击右上角Login登陆,初始账号为admin,密码是admin123 登陆成功可修改账号密码,自己找。
- 点击左边的导航Respositories。
可以看到默认有一些仓库,仓库类型Type或名称的意义:
- hosted 宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动等商业软件的jar包
- proxy 代理远程的仓库,比如上面写得三个maven远程仓库。如果本地不存在某些jar文件时就会到这些代理站点去下载。
- releases 内部的模块中release模块的发布仓库
- snapshots 发布内部的snapshot模块的仓库
- 3rd party 第三方依赖的仓库,本地上传jar包后使用
- group 组仓库,用来添加其他的仓库,方便开发人员设置
开始搭建私服仓库,值得注意的是:maven项目索引:maven项目索引就是用来方便在私服站点查找相关依赖构建的功能。所以在搭建私服之前,应该下载maven索引,10M足左右,将仓库的索引下载选项改成true后保存;保存后可以在Adminstration下--Scheduled Tasks可以看到下载进度是running,下载完之后在左侧搜索栏搜索jar包比如所有spring就会出现 - 这一步是必不可少的如果所以呢无法下载,或者下载完之后任然无法搜索,可以查看nexus的日志进行排错(也可以在我博客下面留言,一起踩坑):
- 3.添加自己代理的远程库,有时候我们的项目需要引入一些特殊的jar文件,比如Jboss的某些jar包,这时候也可以在私服中代理该远程仓库:
点击add后添加代理类型,依次填写id,name和url,这样的话,在项目中不再需要在pom.xml中配置远程仓库:
<repository>
<id>jboss</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.com/maven2/</url>
<releases>
<updatePolicy>daily</updatePolicy><!-- never,always,interval n -->
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy><!-- fail,ignore -->
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<layout>default</layout>
</repository>
4.宿主仓库的使用,上面提到的一些特殊的商业性质相关的jar文件,比如oracle的驱动包,ojdbc.jar并不支持远程下载,这时候可以将我们本地下载好的jar包上传到私服。
注意GAV设置要与你pom.xml中一致,上传后添加到Artifacts点击上传即可:
5.由于私服仓库数量过多,导致配置复杂度提高,所以需要用到上述的group类型仓库:
切记点击刷新,刷新后点击唯一的一个group仓库,点击配置Configuration就可以看到刚才我们手动添加的代理仓库,然后将代理仓库添加到组仓库,这样依赖,项目中之需要配置组仓库的url就可以访问多个私服仓库。
值得注意的是:左侧的仓库列表是有序的,以前在pom.xml中配置自定义仓库的时候都会把速度快的仓库放在前面(因为maven是在找不到下载jar包才会去下一个仓库下载,然后下载慢的并不会跳过)所以在左侧的列表中把下载快的放在前面,直接拖动即可,下面是两个比较快的仓库:
<repository>
<id>nexus</id>
<name>local private nexus</name> 开源中国的
<url>http://maven.oschina.net/content/groups/public/</url>
</repository>
<repository>
<id>alimaven</id>
<name>aliyun maven</name> 阿里巴巴的
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
四. 局域网使用maven私服
4.1 单个项目使用maven私服
在上述步骤完成后,即可在项目中引用私服,在pom.xml中改变默认下载仓库url:
指定私服仓库,我的ip是170,不要全盘复制
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.1.170:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
指定插件仓库
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.1.170:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
配置好之后就可以从私服下载依赖包了。但是这种方式只能在改项目中起作用,每次配置项目都需要写一遍,为了将懒人模式进行到底,我们还可以指定全局的私有仓库。
4.2 全局指定私服
找到maven文件的中的setting.xml文件
改变setting.xml中的配置:
在以下是配置的
</mirrors>
<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf>
<name>Central Repository</name>
<url>http://192.168.1.170:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
这样一来,这台电脑上所有maven项目下载jar文件时都会先访问局域网170的电脑的中央仓库。
-----------------------------------windows配置私服完毕-----------------------------------
扩展:setting,xml中各标签的意义:
1.servers(服务器)
<servers>
<server>
<id>server001</id>
<username>my_login</username>
<password>my_password</password>
<privateKey>${usr.home}/.ssh/id_dsa</privateKey>
<passphrase>some_passphrase</passphrase>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
<configuration></configuration>
</server>
</servers>
id与pom.xml中distributionManagement的id保持一致,服务器标识
username和password表示服务器认证需要的用户民和密码
privateKey, passphrase一组密钥 (不常用)
filePermissions, directoryPermissions如果在部署的时候会创建一个仓库文件或者目录,这时候就可以使用权限(不常用)
2.mirrors(镜像)
<mirrors>
<mirror>
<id>planetmirror.com</id>
<name>PlanetMirror Australia</name>
<url>http://downloads.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
设置一个中央仓库的镜像,看仓库分类,也是远程仓库的一种配置方式。
3.profiles(构建环境)
这个可能比较难理解,maven权威指南一书中这样说:
Profile能让你为一个特殊的环境自定义一个特殊的构建;
构建环境的两个例子是产品环境和开发环境。当你在开发环境中工作时,你的系统可能被配置成访问运行在你本机的开发数据库实例,而在产品环境中,你的系统被配置成从产品数据库读取数据。Maven能让你定义任意数量的构建环境(构建profile),这些定义可以覆盖pom.xml中的任何配置。
简单理解就是你可以先profile中先构件好项目运行的环境,比如预设了A环境实在开发中使用,而实际上线是B环境,那么在上线的时候我们不需要一个个修改pom.xml中的配置,只需要激活改profile即可。
4.activation(激活构建环境 )
<activation>
<activeByDefault>false</activeByDefault>
<jdk>1.5</jdk>
<os>
<name>Windows XP</name>
<family>Windows</family>
<arch>x86</arch>
<version>5.1.2600</version>
</os>
<property>
<name>mavenVersion</name>
<value>2.0.3</value>
</property>
</activation>
指定profile中配置的环境在什么时候开始生效
5.activeProfiles(激活了的profile)
<activeProfiles>
<activeProfile>env-test</activeProfile>
</activeProfiles>
在setting.xml最后的一个标签,表示env-test这个profile已被激活
window安装nexus和配置的更多相关文章
- CentOS安装Nexus(Maven私有库)详细配置及上传本地jar到私服
Nexus原理 Maven的原理就是将jar从远程中央仓库下载到PC磁盘的本地仓库,当本地仓库没有发现需要的jar就会去Maven默认的远程中央仓库Maven Central(由Apache维护)中寻 ...
- Centos7安装nexus(maven私服)以及maven的相关配置
一.nexus安装: 1.获取nexus下载地址: 查询nexus最新版本地址:https://help.sonatype.com/repomanager3/download 当前最新版本为nexus ...
- window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量
本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...
- window 7 安装Jmeter并配置https录制脚本
安装与环境配置: http://blog.csdn.net/hhuangdanfeng/article/details/51564765 http://blog.csdn.net/u010573212 ...
- Window下Nexus私服搭建
项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上 环境是:nexus-2.1.1.mav ...
- window下Nexus私服高级搭建
环境是:nexus-2.1.1.maven-3.0.4.jdk-1.6.0_32 一.用admin用户登陆nexus nexus的下载和安装都很简单 1.下载 http://www.sonatype. ...
- 解决Bash On Ubuntu On Window安装Zsh无效问题附安装说明
前言 Zsh是一款非常棒的Shell,使用Linux和Mac系统的人,基本上都知道zsh的存在. 问题 在安装完Zsh后,zsh是可以使用的,但是重启之后,又恢复至默认的bash. 我在安装好之后,使 ...
- [转]maven安装以及eclipse配置maven
转自:http://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html 方法/步骤 下载maven的bin,在apache官方网站可以下载. ...
- 私服 Nexus 的配置
一.概述 1.概要 现在的项目基本都是用Maven来管理工程,这样一来在公司内容搭建一个私服就非常有必要了,这样一来可以管理公司内部用的JAR包,也可以管理第三方的各种JAR来,以免每次都要从外网的仓 ...
随机推荐
- 常见的网络设备:集线器 hub、网桥、交换机 switch、路由器 router、网关 gateway
Repeater 中继器 Hub 集线器 bridge 网桥 switch 交换机 router 路由器 gateway 网关 网卡 参考资料: do-you-know-the-differences ...
- 运用php函数mkdir创建多级目录
php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我 ...
- Content-Based Recommender System
Content-Based Recommender System是基于产品(商品.网页)的内容.属性.关键字,以及目标用户的喜好.行为,这两部分数据来联合计算出,该为目标用户推荐其可能最感兴趣的产品. ...
- Git/SVN相关
svn配置不当: svn1.6之前的版本,通过访问.svn/.entries metasploit auxiliary/scanner/http/svn_scanner 在svn1.7之后的版本,通过 ...
- error LNK2019: unresolved external symbol __vsnwprintf
老DX SDK,新VS2019问题,编译老项目GG,依赖库加入 legacy_stdio_definitions.lib 解决
- 永远让比较函数对相等的值返回false
今天在刷OJ的时候,有一道题一直Runtime Error,查错出来是比较函数写挂掉了,但是不知道错误在哪,于是查阅资料:永远让比较函数对相等的值返回false 具体可点击此处查看分析:链接 另外,在 ...
- dp(最长公共子序列)
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. ...
- Jenkins windows 执行批量cmd命令XCOPY 提示'XCOPY' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
由于Jenkins没有配置环境变量造成 打开Jenkins=>Manage Jenkins =>Configure System =>全局属性 新增全局变量 健: Path 值: % ...
- 前端每日实战:49# 视频演示如何用纯 CSS 创作一支诱人的冰棍
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vrxzMw 可交互视频教程 此视频 ...
- LUOGU1438无聊的数列
区间加等差数列单点查询 思路: 差分,通过树状数组修改,然后保存两个数组,一个存公差,一个存和 然后正常操作即可 在学校潦草写的很潦草啦 代码如下: #include<cstdio> #i ...