您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

使用nexus搭建局域网私服

2024/6/1 3:04:09发布36次查看
使用nexus搭建局域网私服一. 认识maven仓库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仓库分类
  项目构建的查询路径:首先查询本地仓库,未找到就会查询中央仓库,没找到就会报错。中央仓库地址有:
私服nexus用
推荐使用
上面三个是较为常见的,也是项目中使用较多的,但是由于下载速度太慢,并且仓库的jar文件不完整,实际企业开发需要我们搭建私服仓库。
二. 安装使用nexus  这里注意搭建maven私服不仅仅只有这一种工具。博主用的版本是nexus-2.12.0。
点击下载,密码: 1ar1
下载完成后解压即可,解压完成到目录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索引,大概几十m:
将download remote indexs属性改成true,然后点击save即可,可以在菜单栏scheduled tasks查看下载索引的进度。
3.添加自己代理的远程库,有时候我们的项目需要引入一些特殊的jar文件,比如jboss的某些jar包,这时候也可以在私服中代理该远程仓库:
点击add后添加代理类型,依次填写id,name和url,这样的话,在项目中不再需要配置远程仓库:
<repository>     <id>jboss</id>     <name>jboss repository</name>     <url>;/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就可以访问多个私服仓库。
四. 局域网使用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中添加配置:
在<profiles>标签下添加
<profile>     <repositories>         <id>central</id>         <name>central</name>         <url>http://192.168.1.170:8081/nexus/content/groups/public/</url>         <layout>default</layout>         <releases>             <enabled>true<enabled>         </releases>         <snapshots>             <enabled>true<enabled>         </snapshots>     </repositories> </profile>
配置好之后激活profile
<activeprofiles>       <activeprofile>central</activeprofile>   </activeprofiles>
这样一来,这台电脑上所有maven项目下载jar文件时都会先访问局域网170的电脑。
-----------------------------------windows配置私服完毕-----------------------------------
扩展:setting,xml中各标签的意义:
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>;/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已被激活
以上就是使用nexus搭建局域网私服的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product