序言:为什么要搭建私服
因为在公司中我们是以团队进行开发的,不在是在自己的本地仓库中进行,我们需要连接公司远程仓库进行jar依赖。在公司的局域网中搭建的私服,然后开发人员连接这台计算机,进行团队开发。
一、nexus的下载
前提:确保安装好jdk、和MAVEN
下载地址:https://blog.sonatype.com/ 我安装的是nexus-2.12.0-01-bundle这个版本
二、nexus的安装
1. 将在后的压缩包解压缩
nexus文件夹是nexus安装目录、sonatype-work是存放
2.在键盘上按“Ctrl+R”组合键,打开命令行窗口,进入到“nexus-2.12.0-01-bundle exus-2.12.0-01in”文件夹,并且输入如下命令 >>“nexus.bat install”
可能你在安装的时候回遇到>>"nexus 安装拒绝访问" 问题,这是权限问题产生的,只要你在cmd窗口所在位置以管理员省份运行就可以了。或者你可以用以下方法进行安装
3.出现如下界面,说明安装成功。
三、nexus的启动
1.在cmd窗口中输入找到安装nexus路径下的bin输入>>"nexus.bat start" 开启nexus
启动解决失败的方法:在“nexus-2.12.0-01-bundle exus-2.12.0-01injswconf下的wrapper.conf”中进行如下修改。
改成jdk路径下的java.exe
四、访问nexus
1.在“nexus-2.12.0-01-bundle exus-2.12.0-01conf“ 下的nexus.properties文件查看访问的地址及路径.“http://localhost:8081/nexus/”
出现下如下页面,说明访问成功
2.登陆(默认的初始用户和密码是admin admin123),登录成功出现如下页面。
4种仓库类型的作用:
virtual:虚拟仓库 额,没有什么用
hosted:宿主仓库(本地仓库)
proxy:代理仓库
group:组(重点记住这个即可)
五、实践(怎么将模块放在私服、和怎么从私服中下载)
例如在开发过程中公司会将开发好的dao模块上传到公司私服,而做业务开发的我们就需要从私服下载使用咯。
1.上传模块到私服(步骤)
1.1 配置即将上传模块的pom.xml 文件,代码如下。
<-- 要上传私服的地址--> <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>
1.2 在mavan安装目录路径下“apache-maven-3.3.9conf”的settings.xml文件中对应的标签插入如下代码
1.3 在eclipse工具中药上传模块的邮件>>"maven">>"Run As">>"Maven Build.."输入>>"deploy"命令
1.4出现下图所示,则上传成功。
1.5 对于上传成功的模块要关闭该模块,这样子会以jar形式存在。
注意:若以前做的是本地仓库,改私服仓库,则以往的jar还是存在的,需要手动删除。若是在开发过程中dao层需求不断的更改,则service在引用是,需要更改版本号
2.从私服中下载依赖
2.1首先在apache-maven-3.3.9conf”的settings.xml文件中<profiles>标签插入如下代码。 此代码主要是用户从哪个网址中下载jar依赖。
<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>
2.2 激活 “activeProfiles”。上一步配置中还需要如下代码来激活。在<activeProfiles>此标签中
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>
3.删除本地仓库中项目依赖模块的jar(这部分只是少数人需要,因为可能以前是在本地仓库中开发,现在是公司远程服务器开发,若您是直接在公司远程服务器中开发,可以省略该步骤)
若是出现红色叹号,说明Eclipse返回迟钝,你只需要,右键点击该模块>>"Maven">>"Update Project"即可。
4.需要将service模块发布到私服上,为web模块提供使用,web模块开发没有特别操作,正常开发就行了。