阅读目录
序
在工作中可能存在有些开发机器不能上网,大量的机器获取jar包会导致公司网络很慢,还有时候公司会自己发布自己的项目版本,其他的项目可能会依赖引用到,所以就需要用到Maven的本地仓库。
下面就这个构建本地Maven仓库进行阐述。
Nexus
一:介绍
Nexus是Maven的仓库管理器,用来搭建一个本地仓库服务器,这样做的好处便于管理,节约网络资源, 速度快,可以通过SNAPSHOT版本控制,开进行模块间的高效依赖开发。
二:下载
我们从http://nexus.sonatype.org/downloads/ 来获取最新版本。这里使用的是nexus-2.12.0-01-bundle.zip。
三:解压
解压到本地后,目录结构。
在bin里我们可以看到nexus.bat。到时候我们可以通过这个命令来安装卸载,启动停止nexus服务。
四:配置环境变量
由于是用java开发的。所以需要安装jdk,并配置好java的环境变量,这里就不表了。
新建环境变量Nexus
值为解压的目录 F:\nexus-2.12.0-01\
path中加入;%Nexus%\bin
可以看到
这样即可。从图中我们可以看到命令:start,stop等。
五:安装服务,启动服务
我们先安装服务。
nexus.bat install这样就可以安装了,提示安装好后。我们可以启动服务。
nexus.bat start提示成功后我们可以输入127.0.0.1:8081/nexus可以访问到。
六:使用
右上角有个Log in。点击这个可以登录。用户名是admin 密码默认的是 admin123
登录后,点击左边Views/Repositores下的Repositories
hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
proxy:代理仓库,它们被用来代理远程的公共仓库,如maven*仓库。
group:仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。Central:是Maven的*仓库,我们这里就那这个举例。
选择仓库的类型
Repository Policy 是Release 还是Snapshot
下载远程索引文件
点击Central这个仓库,然后点击Configration。在Download Remote Indexes改成True保存即可。
由于索引比较大,所以得过段时间才能下载完毕。
Routing选项可以看到当前仓库与远程仓库的状态。并且制定更新频率。
将设置好的仓库放进仓库组里。
点击Public Repositories->Configuration
将Central放到左边即可。
点击Browse Index我们就可以看到很多仓库的资源了。
配置Maven,打开\apache-maven-3.3.3\conf\settings.xml配置文件。
在<mirror>节点配置如下即可
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
| -->
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://127.0.0.0:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>我们在Elipse里就可以使用这个配置到的本地仓库了。