最近出了几天差,一直没有更新博客。今天我们不谈大数据,来看看怎么部署Maven+Nexus的本地私有服务器。
之所有要部署本地私有服务器,而不是直接用Maven来今天项目管理,主要是因为Maven每次都要去远程的仓库进行数据的拉取,而部署了Nexus后,Maven就可以先到Nexus去拉取jar包,如果Nexus没有此jar包的话,Nexus会到远程仓库去下载jar包,然后放在Nexus所在的服务器上,Maven再从Nexus拉取数据到本地仓库。
首先先说明一下,我在Linux机器上部署Nexus服务器(比windows的下载速度要快很多),在windows上部署Maven。当我们开发项目时,Maven会先在本地的仓库中找相应的jar包,如果找不到,就到Nexus的仓库中找,如果还找不到,就到远程的仓库中找。我之前已经在windows部署好了jdk和Maven的环境及环境变量。
1.在Linux中部署Nexus
a)首先现在Nexus的安装包,我们需要tar.gz的安装包https://www.sonatype.com/download-oss-sonatype。在底部下载nexus-2.14.8-01-bundle.tar.gz。之后将安装包放在linux中进行解压。(Linux系统中也要先配置好jdk)
b)安装Nexus
$>cd /soft
$>mkdir nexus
$>cd nexus
$>tar -xzvf nexus-2.14.8-01-bundle.tar.gz
解压后会看到,其中nexus是一个软连接,可以不必做,nexus-2.14.8-01存放启动文件和配置文件,sonatype-work文件夹存在我们从远程仓库下载的jar包。
$>cd nexus-2.14.8-01/bin
$>sh nexus start
之后我们可以到浏览器中查看web客户端http://192.168.37.201:8081/nexus。应该能看到这个页面。在该页面的右上角有个login,点击进行登录。默认Username:admin,Password:admin123
登录后是这样的,这里有一些配置,主要是否下载索引,索引的目的是为了搜索更快一下。可配置也可不配置。单击Type是proxy的几个仓库
单击Type是Proxy的几个仓库,在Download Remote Indexes中可以选择true或者false。
2.修改Maven中的配置文件
找到Maven的配置文件settings.xml(windows机器上的), D:\java\apache-maven-3.3.9\conf
nexus-releases
admin
admin123
nexus-snapshots
admin
admin123
nexus
*
http://192.168.37.201:8081/nexus/content/groups/public
nexus
nexus
Nexus
http://192.168.37.201:8081/nexus/content/groups/public/
true
true
nexus
http://192.168.37.201:8081/nexus/content/groups/public/
true
false
nexus
之后我们就可以在项目中加入依赖项,Maven会先从本地的仓库(默认C:\Users\CNWISHE2\.m2\repository)寻找jar包,找不到回到Nexus中寻找jar包,如果Nexus中没有,会到远程的仓库中寻找jar包。
这里要注意我们配置的地址是
http://192.168.37.201:8081/nexus/content/groups/public
这是一个仓库组的地址,是把几个仓库合并在一起,当然你也可以自己配置仓库。这里的仓库组我们可以看看是哪几个仓库的集合。图中可以看到是Release,Snapshot,3rd party和Central,其实我们主要用的还是Central,你可以新建自己的代理仓库,然后加入到这个groups里。在单独配置仓库中,注意id和name要和相应的仓库对应好。
例如Central仓库,id和name要在项目的pom.xml对应好。而且还可以修改远程仓库地址,可以修改成阿里源的镜像地址,下载速度会快很多。建议不要修改Central仓库的地址,要自己新建一个代理仓库,在自己的仓库中指定阿里的镜像地址。
2.新建一个Maven项目
新建一个Maven项目,然后编写pom.xml文件
4.0.0
com.wilson
testNexus3
0.0.1-SNAPSHOT
jar
testNexus3
http://maven.apache.org
UTF-8
org.mortbay.jetty
jetty-util
6.1.24
junit
junit
3.8.2
test
在项目的pom.xml文件中,只要添加依赖项就可以了,不不必再执行仓库的地址。之后Nexus会先从仓库中,先放在自己的Nexus服务器中,我们可以在web页面中查看。选在Central仓库->Browse Storage就可以看到。
好了,今天就先写到这里,与您共勉!